18 #ifndef GZ_PHYISCS_OPERATEONSPECIFIEDDATA_HH_
19 #define GZ_PHYISCS_OPERATEONSPECIFIEDDATA_HH_
22 #include <unordered_set>
51 template <
typename Specification,
52 template<
typename>
class SpecFinder,
53 template<
typename,
typename,
typename>
class Operation,
80 public:
template <
typename CompositeType>
82 Performer *_performer,
85 const bool _onlyCompile =
false);
97 private:
template <
typename Data,
typename SubSpecification,
98 typename CompositeType>
99 static void SubOperate(
100 detail::type<Data>, detail::type<SubSpecification>,
101 Performer *_performer, CompositeType &_data,
107 private:
template <
typename SubSpecification,
typename CompositeType>
108 static void SubOperate(
109 detail::type<void>, detail::type<SubSpecification>,
110 Performer *_performer, CompositeType &_data,
116 private:
template <
typename CompositeType>
117 static void SubOperate(
118 detail::type<void>, detail::type<void>,
119 Performer*, CompositeType&,
126 #include "gz/physics/detail/OperateOnSpecifiedData.hh"