Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Struct template sequence_container_interface

boost::stl_interfaces::sequence_container_interface

Synopsis

// 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>  () ;
};

Description

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 construct/copy/destruct

  1. template<typename D> 
       
      ( il) ;

sequence_container_interface public member functions

  1. template<typename D> 
       
      () ;
  2. template<typename D> 
       
      () ;
  3. template<typename D,  C = , 
             typename Enable> 
       () ;
  4. template<typename D,  C = , 
             typename Enable> 
       
      () ;
  5. template<typename D> 
       
      () ;
  6. template<typename D> 
       
      () ;
  7. template<typename D> 
       () ;
  8. template<typename D> 
       
      () ;
  9. template<typename D> 
       
      ( x) ;
  10. template<typename D> 
       
      ( x) ;
  11. template<typename D>  () ;
  12. template<typename D, 
             typename Enable = v1_dtl::decrementable_sentinel<> 
       
      () ;
  13. template<typename D, 
             typename Enable = v1_dtl::decrementable_sentinel<> 
       
      () ;
  14. template<typename D> 
       
      ( x) ;
  15. template<typename D> 
       
      ( x) ;
  16. template<typename D>  () ;
  17. template<typename D> 
       
      ( n) ;
  18. template<typename D> 
       
      ( n) ;
  19. template<typename D>  ( i);
  20. template<typename D> 
       ( i) ;
  21. template<typename D, typename Iter> 
       
      () ;
  22. template<typename D, typename Iter> 
       () ;
  23. template<typename D> 
       
      () ;
  24. template<typename D> 
       
      () ;
  25. template<typename D, 
             typename Enable> 
       
      () ;
  26. template<typename D, 
             typename Enable> 
       
      () ;
  27. template<typename D> 
       
      () ;
  28. template<typename D> 
       
      () ;
  29. template<typename D> 
       
      () ;
  30. template<typename D> 
       
      () ;
  31. template<typename D> 
       
      ( pos,  x) ;
  32. template<typename D> 
       
      ( pos,  x) ;
  33. template<typename D> 
       
      ( pos,  n, 
              x) ;
  34. template<typename D> 
       
      ( pos, 
              il) ;
  35. template<typename D> 
       ( pos) ;
  36. template<typename InputIterator, typename D, 
             typename Enable> 
       
      ( first,  last) ;
  37. template<typename D> 
       
      ( n,  x) ;
  38. template<typename D> 
       
      ( il) ;
  39. template<typename D>  () ;

PrevUpHomeNext