11 static _TVisitor_::ReturnType accept(_TVisitor_* _visitor,
const _T_& _t,
const _TVisitor_::ParametersTuple& _parameters, std::index_sequence<S...>) {
12 return _visitor->visit(_t, std::get<S>(_parameters)...);
36 struct VisitorHelper<_TVisitor_, knowCore::ConstExplicitlySharedDataPointer<_T_>, std::enable_if_t<std::is_base_of_v<Node, _T_>>>
44 return typename _TVisitor_::ReturnType();
48 struct VisitorHelper<_TVisitor_, _T_, std::enable_if_t<not std::is_base_of_v<Node, RemoveConstExplicitlySharedDataPointerT<_T_>>
49 and not knowCore::details::is_specialisation_of_v<QList, _T_>
50 and not knowCore::details::is_specialisation_of_v<Alternative, _T_>>>
52 static _TVisitor_::ReturnType call(_TVisitor_* _visitor,
const _T_& _t,
const _TVisitor_::ParametersTuple& _parameters)
56 Q_UNUSED(_parameters);
57 return typename _TVisitor_::ReturnType();
74 struct VisitorHelper<_TVisitor_,
QList<_T_>, std::enable_if_t<std::is_base_of_v<Node, RemoveConstExplicitlySharedDataPointerT<_T_>>
75 or knowCore::details::is_specialisation_of_v<Alternative, _T_>>>
77 static _TVisitor_::ReturnType call(_TVisitor_* _visitor,
const QList<_T_>& _t,
const _TVisitor_::ParametersTuple& _parameters)
79 for(
const _T_& t : _t)
83 return typename _TVisitor_::ReturnType();
87 struct VisitorHelper<_TVisitor_,
QList<_T_>, std::enable_if_t<not std::is_base_of_v<Node, RemoveConstExplicitlySharedDataPointerT<_T_>> and not knowCore::details::is_specialisation_of_v<Alternative, _T_> >>
89 static _TVisitor_::ReturnType call(_TVisitor_* _visitor,
const QList<_T_>& _t,
const _TVisitor_::ParametersTuple& _parameters)
93 Q_UNUSED(_parameters);
94 return typename _TVisitor_::ReturnType();