MPL11
 All Classes Namespaces Files Typedefs Macros Groups Pages
iterable.hpp
Go to the documentation of this file.
1 
12 #ifndef BOOST_MPL11_FWD_ITERABLE_HPP
13 #define BOOST_MPL11_FWD_ITERABLE_HPP
14 
17 #include <boost/mpl11/fwd/bool.hpp>
21 
22 
23 namespace boost { namespace mpl11 {
67  template <typename Datatype, typename = true_>
68  struct Iterable;
69 
71  template <typename iter>
72  struct head;
73 
80  template <typename iter>
81  struct tail;
82 
84  template <typename iter>
85  struct last;
86 
88  template <typename iter>
89  struct length;
90 
92  template <typename index, typename iter>
93  struct at;
94 
96  template <detail::std_size_t index, typename iter>
98 
100  template <typename iter>
101  struct is_empty;
102 
110  template <typename n, typename iter>
111  struct drop;
112 
114  template <detail::std_size_t n, typename iter>
116 
127  template <typename predicate, typename iter>
128  struct drop_while;
129 
131  template <typename predicate, typename iter>
133  drop_while<compose<lift<not_>, predicate>, iter>);
135 }} // end namespace boost::mpl11
136 
137 #endif // !BOOST_MPL11_FWD_ITERABLE_HPP
Forward declares the Functional module.
Equivalent to at, iter>.
Definition: iterable.hpp:97
Extract the elements after the head of a non-empty iterable.
Definition: iterable.hpp:81
Lifts a metafunction.
Definition: functional.hpp:155
Forward declares the Integer datatype.
Forwards to boost/mpl11/fwd/integer.hpp.
Manages configurable options of the library and defines utility macros.
Drops elements from an iterable up to, but not including, the first element for which the predicate r...
Definition: iterable.hpp:128
Forward declares logical metafunctions.
Defines boost::mpl11::detail::std_size_t.
Returns the last element of a non-empty iterable.
Definition: iterable.hpp:85
Returns whether the iterable is empty.
Definition: iterable.hpp:101
Alias to integer_c; provided for convenience.
Definition: integer.hpp:122
Returns the composition of several metafunction classes.
Definition: functional.hpp:213
Returns the element of an iterable at the given index.
Definition: iterable.hpp:93
Equivalent to drop, iter>; provided for convenience.
Definition: iterable.hpp:115
#define BOOST_MPL11_DOXYGEN_ALIAS(NAME,...)
Macro expanding to a struct when generating the documentation and to an alias otherwise.
Definition: config.hpp:56
Returns the first element of a non-empty iterable.
Definition: iterable.hpp:72
Drops the first n elements from an iterable and return the rest.
Definition: iterable.hpp:111
Returns the number of elements in a finite iterable.
Definition: iterable.hpp:89
Equivalent to drop_while with a negated predicate.
Definition: iterable.hpp:133