38 auto vector =
v->getPath().getPath();
39 auto path =
v->getPath();
40 path.setDelimeter(
".");
41 path.setRootIdentifier(
"");
42 auto string = path.toString();
43 return string.substr(1,
string.size());
46 template <
typename DataInputT,
typename TypeInputT>
48 std::pair<typename std::remove_const<DataInputT>::type,
49 typename std::remove_const<TypeInputT>::type>>
52 std::map<std::string, std::pair<data::VariantPtr, type::VariantPtr>>
ret;
60 for (
const auto& [key, e] : x->getElements())
62 auto ct = y->getMemberType(key);
63 ret.insert({key, {e, ct}});
69 template <
typename DataInputT,
typename TypeInputT>
71 std::pair<typename std::remove_const<DataInputT>::type,
72 typename std::remove_const<TypeInputT>::type>>
76 std::pair<typename std::remove_const<DataInputT>::type,
77 typename std::remove_const<TypeInputT>::type>>
82 auto ac = y ? y->getAcceptedType() :
nullptr;
86 for (
const auto& [key, e] : x->getElements())
88 ret.insert({key, {e, ac}});
94 template <
typename DataInputT,
typename TypeInputT>
95 std::vector<std::pair<typename std::remove_const<DataInputT>::type,
96 typename std::remove_const<TypeInputT>::type>>
99 std::vector<std::pair<typename std::remove_const<DataInputT>::type,
100 typename std::remove_const<TypeInputT>::type>>
105 auto ac = y ? y->getAcceptedType() :
nullptr;
109 for (
const auto& e : x->getElements())
111 ret.emplace_back(e, ac);
117 template <
typename DataInputT,
typename TypeInputT>
118 std::pair<std::pair<typename std::remove_const<DataInputT>::type,
119 typename std::remove_const<TypeInputT>::type>,
120 std::pair<typename std::remove_const<DataInputT>::type,
121 typename std::remove_const<TypeInputT>::type>>
131 auto e0 = x->getElement(0);
132 auto ac0 = y->getFirstAcceptedType();
133 auto e1 = x->getElement(1);
134 auto ac1 = y->getSecondAcceptedType();
135 return {{e0, ac0}, {e1, ac1}};
140 template <
typename DataInputT,
typename TypeInputT>
141 std::vector<std::pair<typename std::remove_const<DataInputT>::type,
142 typename std::remove_const<TypeInputT>::type>>
145 std::vector<std::pair<data::VariantPtr, type::VariantPtr>>
ret;
154 for (
const auto& e : x->getElements())
156 auto ac = y->getAcceptedType(i++);
157 ret.emplace_back(e, ac);