11 #ifndef META_FOREACH_H_INCLUDED
12 #define META_FOREACH_H_INCLUDED
14 #include <Pb/meta_fwd.h>
36 template <
size_t CurIndex,
42 static_assert((CurIndex <= EndIndex),
43 "The Current Index must be not be greater than the End Index");
44 static_assert(type_container<ContainerT>::value,
45 "ContainerT must be derived from \"container_trait\"");
65 process<CurIndex, EndIndex, ContainerT>();
84 template <
size_t IndexT,
91 typedef typename TypeAt<IndexT, FormatT>::type type_t;
94 ftor.operator() < IndexT,
99 ftor.
template operator() < IndexT,
147 template <
size_t BeginIndex,
153 static_assert (BeginIndex <= EndIndex,
154 "The Begin Index must not be greater than the End Index");
155 static_assert (type_container<ContainerT>::value,
156 "ContainerT must be derived from \"container_trait\"");
158 "ContainerT must contain more than 0 type entries.");