![]() |
Project
|
A general runtime container for a compile time sequence This file is part of https://github.com/matthiasrichter/gNeric. More...
#include <iostream>
#include <iomanip>
#include <boost/mpl/equal.hpp>
#include <boost/mpl/minus.hpp>
#include <boost/mpl/less.hpp>
#include <boost/mpl/fold.hpp>
#include <boost/mpl/lambda.hpp>
#include <boost/mpl/vector.hpp>
#include <boost/mpl/push_back.hpp>
#include <boost/mpl/protect.hpp>
#include <boost/mpl/begin.hpp>
#include <boost/mpl/end.hpp>
#include <boost/mpl/next.hpp>
#include <boost/mpl/deref.hpp>
#include <boost/mpl/at.hpp>
#include <boost/mpl/range_c.hpp>
#include <boost/mpl/size.hpp>
Go to the source code of this file.
Classes | |
class | gNeric::DefaultInterface |
The default interface for the RuntimeContainer. More... | |
struct | gNeric::default_initializer |
Default initializer does nothing. More... | |
struct | gNeric::funny_initializer |
An initializer for simple types The initializer makes use of truncation for non-float types, and over- and underflow to produce different values in the member of the individual stages in the container. More... | |
struct | gNeric::default_printer |
Default printer prints nothing. More... | |
struct | gNeric::verbose_printer_base< recursive > |
Verbose printer prints level and content. More... | |
struct | gNeric::recursive_printer |
Verbose printer to print levels recursively. More... | |
struct | gNeric::single_printer |
Verbose printer to print a single level. More... | |
class | gNeric::set_value< U > |
Setter functor, forwards to the container mixin's set function. More... | |
class | gNeric::add_value< U > |
Adder functor. More... | |
class | gNeric::get_value< U > |
Getter functor, forwards to the container mixin's get function. More... | |
class | gNeric::get_value< U >::NullType |
struct | gNeric::rc_apply_at< _ContainerT, _IndexT, _Iterator, _End, _Index, F > |
struct | gNeric::rc_apply_at< _ContainerT, _IndexT, _End, _End, _Index, F > |
struct | gNeric::rc_apply< _ContainerT, _StageT, _IndexT, F > |
struct | gNeric::rc_dispatcher< _ContainerT, F, Position, _IndexT > |
class | gNeric::RuntimeContainer< InterfacePolicy, InitializerPolicy, PrinterPolicy > |
the technical base of the mixin class More... | |
class | gNeric::rc_mixin< BASE, T > |
Mixin component is used with different data types. More... | |
class | gNeric::rc_mixin< BASE, T >::member_apply_at< F > |
struct | gNeric::rtc_less< T, N > |
check the mixin level to be below specified level More... | |
struct | gNeric::rtc_equal< T, N > |
struct | gNeric::create_rtc< Types, Base, N > |
create the runtime container type The runtime container type is build from a list of data types, the recursive build can be optionally stopped at the level of argument N. More... | |
struct | gNeric::create_rtc_types< Types, Base, N > |
create an mpl vector of mixin types Every stage in the runtime container contains all the previous ones. The resulting mpl vector of this meta function contains all individual stages. More... | |
Namespaces | |
namespace | gNeric |
Typedefs | |
typedef recursive_printer | gNeric::verbose_printer |
typedef boost::mpl::lambda< rc_mixin< _1, _2 > >::type | gNeric::apply_rc_mixin |
Applying rc_mixin with the template parameters as placeholders The wrapping into an mpl lambda is necessary to separate placeholder scopes in the mpl fold operation. | |
A general runtime container for a compile time sequence This file is part of https://github.com/matthiasrichter/gNeric.
Definition in file runtime_container.h.