50 #ifndef _MIRA_ACCESSOR_H_ 51 #define _MIRA_ACCESSOR_H_ 62 template <
typename T,
typename SerializerTag>
84 return internal.
get();
88 template<
typename Reflector>
106 class AccessorGetterPartInternalRedirect
122 template<
typename Reflector>
132 template <
typename T>
149 template<
typename Reflector>
167 static_assert(
sizeof(T)==0,
"Not implemented for direct access. " 168 "There was no need yet");
187 template<
typename Reflector>
197 template <
typename T>
215 template<
typename Reflector>
243 template <
typename Getter,
typename Setter>
260 typename SetterPart::value_type>::value,
261 "Type of value in Getter and Setter must be the same");
289 template <
typename Getter,
typename Setter,
typename SerializerTag>
299 template <
typename Getter,
typename Setter>
AccessorSetterPart(const NullSetter< T > &)
Definition: Accessor.h:209
AccessorSetterPart(const Setter< T > &iSetter)
Definition: Accessor.h:179
Type trait that indicates whether a type should be serialized "transparently", i.e.
Definition: IsTransparentSerializable.h:81
AccessorSetterPart()
Definition: Accessor.h:208
Accessor(const Getter &getter)
Definition: Accessor.h:254
void reflect(Reflector &r)
Definition: Accessor.h:123
T value_type
Definition: Accessor.h:75
specialize cv::DataType for our ImgPixel and inherit from cv::DataType<Vec>
Definition: IOService.h:67
#define MIRA_SPLIT_REFLECT_MEMBER
Macro that insert a class member reflect() method just splitting reflection into a reflectRead() and ...
Definition: SplitReflect.h:209
Setter< T > setter(void(*f)(const T &))
Creates a Setter for global or static class methods taking the argument by const reference.
Definition: GetterSetter.h:443
static const bool isDirectGetter
Definition: Accessor.h:77
decltype(std::declval< GetterPart >().get()) typedef GetReturnValueType
the type that is returned by the get() method of the GetterPart.
Definition: Accessor.h:267
Holds a boost::function object to a special setter function that must meet the signature "void method...
Definition: GetterSetter.h:395
T value_type
Definition: Accessor.h:176
Provides MIRA_SPLIT_REFLECT macros.
T value_type
Definition: Accessor.h:205
GetterPart::value_type value_type
the underlying type (as STL conform typedef)
Definition: Accessor.h:261
Implements the "setter part" of an Accessor.
Definition: Accessor.h:166
T value_type
Definition: Accessor.h:109
Getter< T > getter(T(*f)())
Creates a Getter for global or static class methods returning the result by value.
Definition: GetterSetter.h:136
void reflectWrite(Reflector &r)
Definition: Accessor.h:188
AccessorGetterPartInternalRedirect(const T &value)
Definition: Accessor.h:114
This class is used as additional reflection redirect.
Definition: Accessor.h:60
void reflectRead(Reflector &r)
Definition: Accessor.h:89
void reflectWrite(Reflector &r)
Definition: Accessor.h:216
The Accessor class is used as an adapter to reduce the code bloat within the reflection and serializa...
Definition: Accessor.h:244
static const bool isDirectGetter
Definition: Accessor.h:111
Holds a boost::function object to a special getter function that must meet the signature "T method()"...
Definition: GetterSetter.h:87
AccessorGetterPart(const Getter< T > &iGetter)
Definition: Accessor.h:141
AccessorGetterPart(const T &value)
Definition: Accessor.h:80
Accessor(const Getter &getter, const Setter &setter)
Definition: Accessor.h:251
value_type get() const
apply the getter, e.g. int val = mygetter.get();
Definition: GetterSetter.h:98
"Null-Setter" tag-class where the AccessorSetterPart does nothing.
Definition: Accessor.h:198
T value_type
Definition: Accessor.h:136
Accessor< Getter, Setter > makeAccessor(const Getter &getter, const Setter &setter)
Helper method that creates an accessor from a different combination of either direct access to a vari...
Definition: Accessor.h:300
Implements the "getter part" of an Accessor.
Definition: Accessor.h:72
void reflectRead(Reflector &r)
Definition: Accessor.h:150
Provides definition for getters and setters that are used with the serialization framework.