Go to the documentation of this file.
   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" 
  
static void Operate(Performer *_performer, CompositeType &_data, const DataStatusMask &_mask, const bool _onlyCompile=false)
Operate is the recommended entry point for using OperateOnSpecifiedData. This can be given a performe...
This struct encodes criteria for CompositeData::DataStatus so that Read and Write operations can be d...
Definition: gz/physics/DataStatusMask.hh:33
OperateOnSpecifiedData allows us to statically analyze whether a class (Performer) can perform an ope...
Definition: gz/physics/OperateOnSpecifiedData.hh:55