#ifndef XDTdAXIBNQWHy4pABnW9tvtXRks #define XDTdAXIBNQWHy4pABnW9tvtXRks #include #include #include "pla_get.hpp" #include "property_list.hpp" template struct PropertyComposition : boost::noncopyable { // your endless journey has come to an end. down here lies the // ACTUAL INSTANCE of the entire simulation! typedef PropList properties_t; PL properties; /// data access // call: return value of action is of interest template inline typename Action::result_t call(Action &action) { return properties.call(*this, action); } // cast: fire and forget template inline void cast(Action &&action) { properties.call(*this, action); } void sync() { properties.sync(); } }; #endif // XDTdAXIBNQWHy4pABnW9tvtXRks