39 #ifndef LIB_META_CONFIGFLAGS_H 40 #define LIB_META_CONFIGFLAGS_H 49 const size_t CONFIG_FLAGS_MAX = 5;
89 template<u
int Fl,
class CONF>
107 template<
class FLAGS,
class CONF=Config<> >
113 template<u
int Fl,
class FLAGS,
class CONF>
117 ,
typename BuildConfigFromFlags<FLAGS,CONF>::Config
123 template<
class FLAGS>
129 template<u
int ii, u
int jj>
132 enum{ VAL = ii < jj? jj : ii };
148 template<
class FLAGS>
151 template<u
int ff,
class FLAGS>
154 enum{ BITS = maxC< ff, FlagInfo<FLAGS>::BITS> ::VAL
167 static typename FUNC::Ret
168 accept (FUNC& functor)
170 return functor.done();
174 template<
class CONF,
class TAIL>
177 typedef typename CONF::Flags ThisFlags;
183 static typename FUNC::Ret
184 accept (FUNC& functor)
A template metaprogramming technique for manipulating collections of types.
Implementation namespace for support and library code.