Project
Loading...
Searching...
No Matches
runtime_container.h File Reference

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.
 

Detailed Description

A general runtime container for a compile time sequence This file is part of https://github.com/matthiasrichter/gNeric.

Author
Matthias Richter
Since
2016-09-11

Definition in file runtime_container.h.