MIRA
Classes | Namespaces | Functions
GetterSetter.h File Reference

Provides definition for getters and setters that are used with the serialization framework. More...

#include <type_traits>
#include <boost/function.hpp>
#include <utils/Bind.h>
#include <serialization/IsTransparentSerializable.h>
#include <serialization/ReflectControlFlags.h>
Include dependency graph for GetterSetter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Getter< T >
 Holds a boost::function object to a special getter function that must meet the signature "T method()". More...
 
class  IsTransparentSerializable< Getter< T >, SerializerTag >
 
class  Setter< T >
 Holds a boost::function object to a special setter function that must meet the signature "void method(T)". More...
 
class  IsTransparentSerializable< Setter< T >, SerializerTag >
 

Namespaces

 mira
 specialize cv::DataType for our ImgPixel and inherit from cv::DataType<Vec>
 

Functions

template<typename T >
Getter< T > getter (T(*f)())
 Creates a Getter for global or static class methods returning the result by value. More...
 
template<typename T >
Getter< T > getter (const T &(*f)())
 Creates a Getter for global or static class methods returning the result by const reference. More...
 
template<typename T , typename Class >
Getter< T > getter (T(Class::*f)(), Class *obj)
 Creates a Getter for non-const class methods returning the result by value. More...
 
template<typename T , typename Class >
Getter< T > getter (const T &(Class::*f)(), Class *obj)
 Creates a Getter for non-const class methods returning the value by const reference. More...
 
template<typename T , typename LambdaFn >
Getter< T > getter (LambdaFn fn)
 Creates a Getter for a lambda function. More...
 
template<typename T >
Getter< T > getter (boost::function< T()> f)
 Creates a Getter for boost function or boost bind. More...
 
template<typename T , typename TObject >
Getter< T > getter (T(*f)(const TObject &), const TObject &object)
 Creates a Getter for a global function or static class method that additionally is assigned with a certain object of type TObject, i.e. More...
 
template<typename T , typename TObject >
Getter< T > getter (T(*f)(TObject), const TObject &object)
 Creates a Getter for a global function or static class method that additionally is assigned with a certain object. More...
 
template<typename T , typename TObject >
Getter< T > getter (boost::function< T(const TObject &)> f, const TObject &object)
 Creates a Getter for a boost bind function that additionally is assigned with a certain object. More...
 
template<typename T , typename TObject >
Getter< T > getter (boost::function< T(TObject)> f, const TObject &object)
 Creates a Getter for a boost bind function that additionally is assigned with a certain object. More...
 
template<typename T >
Setter< T > setter (void(*f)(const T &))
 Creates a Setter for global or static class methods taking the argument by const reference. More...
 
template<typename T >
Setter< T > setter (void(*f)(T))
 Creates a Setter for global or static class methods taking the argument by value. More...
 
template<typename T , typename LambdaFn >
Setter< T > setter (LambdaFn fn)
 Creates a Setter for lambda function. More...
 
template<typename T , typename Class >
Setter< T > setter (void(Class::*f)(const T &), Class *obj)
 Creates a Setter for class methods taking the argument by const reference. More...
 
template<typename T , typename Class >
Setter< T > setter (void(Class::*f)(T), Class *obj)
 Creates a Setter for class methods taking the argument by value. More...
 
template<typename T >
Setter< T > setter (boost::function< void(const T &)> f)
 Creates a Setter for boost function or boost bind. More...
 
template<typename T , typename TObject >
Setter< T > setter (TObject(*f)(const T &), TObject &object)
 Creates a Setter for a global function or static class method that additionally is assigned with a certain object of type TObject, i.e. More...
 
template<typename T , typename TObject >
Setter< T > setter (TObject(*f)(T), TObject &object)
 
template<typename T , typename TObject >
Setter< T > setter (boost::function< TObject(const T &)> f, TObject &object)
 
template<typename T , typename TObject >
Setter< T > setter (boost::function< TObject(T)> f, TObject &object)
 

Detailed Description

Provides definition for getters and setters that are used with the serialization framework.

Author
Erik Einhorn
Date
2010/07/06