![]() |
Home | Libraries | People | FAQ | More |
boost::stl_interfaces::v1::sequence_container_interface
// In header: <boost/stl_interfaces/sequence_container_interface.hpp> template<typename Derived, Contiguity> struct sequence_container_interface { // construct/copy/destruct template<typename D> () ; // public member functions template<typename D> () ; template<typename D> () ; template<typename D, C = , typename Enable> () ; template<typename D, C = , typename Enable> () ; template<typename D> () ; template<typename D> () ; template<typename D> () ; template<typename D> () ; template<typename D> () ; template<typename D> () ; template<typename D> () ; template<typename D, typename Enable = v1_dtl::decrementable_sentinel<> () ; template<typename D, typename Enable = v1_dtl::decrementable_sentinel<> () ; template<typename D> () ; template<typename D> () ; template<typename D> () ; template<typename D> () ; template<typename D> () ; template<typename D> (); template<typename D> () ; template<typename D, typename Iter> () ; template<typename D, typename Iter> () ; template<typename D> () ; template<typename D> () ; template<typename D, typename Enable> () ; template<typename D, typename Enable> () ; template<typename D> () ; template<typename D> () ; template<typename D> () ; template<typename D> () ; template<typename D> (, ) ; template<typename D> (, ) ; template<typename D> (, , ) ; template<typename D> (, ) ; template<typename D> () ; template<typename InputIterator, typename D, typename Enable> (, ) ; template<typename D> (, ) ; template<typename D> () ; template<typename D> () ; };
A CRTP template that one may derive from to make it easier to define container types.
The template parameter D
for sequence_container_interface
may be an incomplete type. Before any member of the resulting specialization of sequence_container_interface
other than special member functions is referenced, D
shall be complete; shall model std::derived_from<sequence_container_interface<D>>
, std::semiregular
, and std::forward_range
; and shall contain all the nested types required in Table 72: Container requirements and, for those whose iterator nested type models std::bidirectinal_iterator
, those in Table 73: Reversible container requirements.
For an object d
of type D
, a call to std::ranges::begin(d)
sxhall not mutate any data members of d
, and d
's destructor shall end the lifetimes of the objects in [std::ranges::begin(d), std::ranges::end(d))
.
sequence_container_interface
public member functionstemplate<typename D> () ;
template<typename D> () ;
template<typename D, C = , typename Enable> () ;
template<typename D, C = , typename Enable> () ;
template<typename D> () ;
template<typename D> () ;
template<typename D> () ;
template<typename D> () ;
template<typename D> ( x) ;
template<typename D> ( x) ;
template<typename D> () ;
template<typename D, typename Enable = v1_dtl::decrementable_sentinel<> () ;
template<typename D, typename Enable = v1_dtl::decrementable_sentinel<> () ;
template<typename D> ( x) ;
template<typename D> ( x) ;
template<typename D> () ;
template<typename D> ( n) ;
template<typename D> ( n) ;
template<typename D> ( i);
template<typename D> ( i) ;
template<typename D, typename Iter> () ;
template<typename D, typename Iter> () ;
template<typename D> () ;
template<typename D> () ;
template<typename D, typename Enable> () ;
template<typename D, typename Enable> () ;
template<typename D> () ;
template<typename D> () ;
template<typename D> () ;
template<typename D> () ;
template<typename D> ( pos, x) ;
template<typename D> ( pos, x) ;
template<typename D> ( pos, n, x) ;
template<typename D> ( pos, il) ;
template<typename D> ( pos) ;
template<typename InputIterator, typename D, typename Enable> ( first, last) ;
template<typename D> ( n, x) ;
template<typename D> ( il) ;
template<typename D> () ;