24 #ifndef SEQUENCE_HPP_INCLUDED
25 #define SEQUENCE_HPP_INCLUDED
50 struct push_front_impl;
53 struct push_back_impl;
56 struct pop_front_impl;
65 internal::empty_impl<typename Seq::tag> {};
70 internal::size_impl<typename Seq::tag>::template
apply<Seq> {};
73 template <
class Seq,
class Pos>
75 internal::at_impl<typename Seq::tag>::template
apply<Seq, Pos> {};
80 internal::begin_impl<typename Seq::tag>::template
apply<Seq> {};
85 internal::end_impl<typename Seq::tag>::template
apply<Seq> {};
90 internal::clear_impl<typename Seq::tag>::template
apply<Seq> {};
93 template <
class Seq,
class T>
95 internal::push_front_impl<typename Seq::tag>::template
apply<Seq, T> {};
98 template <
class Seq,
class T>
100 internal::push_back_impl<typename Seq::tag>::template
apply<Seq, T> {};
105 internal::pop_front_impl<typename Seq::tag>::template
apply<Seq> {};
110 internal::pop_back_impl<typename Seq::tag>::template
apply<Seq> {};
113 template <
class Iter>
117 template <
class State,
class Operation>