5 #define DEPRECATION_TO_ICE \
6 "This function is deprecated. Use armarx::toIce() from <ArmarXCore/core/ice_conversions.h> " \
8 #define DEPRECATION_FROM_ICE \
9 "This function is deprecated. Use armarx::fromIce() from <ArmarXCore/core/ice_conversions.h> " \
31 template <
class IceT,
class CppT>
39 template <
class IceT,
class CppT>
41 fromIce(const ::IceInternal::Handle<IceT>& ice, CppT&
cpp)
50 template <
class IceT,
class CppT>
59 template <
class CppT,
class IceT>
70 template <
class IceT,
class CppT>
72 toIce(IceT& ice,
const std::unique_ptr<CppT>& cppPointer)
76 toIce(ice, *cppPointer);
80 template <
class IceT,
class CppT>
82 fromIce(
const IceT& ice, std::unique_ptr<CppT>& cppPointer)
84 cppPointer = std::make_unique<CppT>();
90 template <
class IceT,
class CppT>
97 toIce(*ice, *cppPointer);
105 template <
class IceT,
class CppT>
107 fromIce(const ::IceInternal::Handle<IceT>& ice, std::unique_ptr<CppT>& cppPointer)
111 cppPointer = std::make_unique<CppT>();
116 cppPointer =
nullptr;
122 template <
class IceT,
class CppT>
124 toIce(std::vector<IceT>& ices,
const std::vector<CppT>& cpps)
127 ices.reserve(cpps.size());
128 for (
const auto&
cpp : cpps)
134 template <
class IceT,
class CppT>
136 fromIce(
const std::vector<IceT>& ices, std::vector<CppT>& cpps)
139 cpps.reserve(ices.size());
140 for (
const auto& ice : ices)
142 fromIce(ice, cpps.emplace_back());
146 template <
class IceT,
class CppT>
148 toIce(
const std::vector<CppT>& cpps)
150 std::vector<IceT> ices;
157 template <
class IceKeyT,
class IceValueT,
class CppKeyT,
class CppValueT>
159 toIce(std::map<IceKeyT, IceValueT>& iceMap,
const std::map<CppKeyT, CppValueT>& cppMap)
162 for (
const auto& [key,
value] : cppMap)
164 iceMap.emplace(toIce<IceKeyT>(key), toIce<IceValueT>(
value));
168 template <
class IceKeyT,
class IceValueT,
class CppKeyT,
class CppValueT>
170 fromIce(
const std::map<IceKeyT, IceValueT>& iceMap, std::map<CppKeyT, CppValueT>& cppMap)
173 for (
const auto& [key,
value] : iceMap)
175 cppMap.emplace(fromIce<CppKeyT>(key), fromIce<CppValueT>(
value));
179 template <
class IceKeyT,
class IceValueT,
class CppKeyT,
class CppValueT>
181 toIce(
const std::map<CppKeyT, CppValueT>& cppMap)
183 std::map<IceKeyT, IceValueT> iceMap;
184 toIce(iceMap, cppMap);