Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Reference

Headers

Headers

namespace boost {
  namespace stl_interfaces {
    enum element_layout;
    namespace v1 {
      enum element_layout;
    }
  }
}

BOOST_STL_INTERFACES_STATIC_ASSERT_CONCEPT(type, concept_name)
BOOST_STL_INTERFACES_STATIC_ASSERT_ITERATOR_TRAITS(iter, category, concept, value_type, reference, pointer, difference_type)
namespace boost {
  namespace stl_interfaces {
    struct access;
    template<typename Derived, typename IteratorConcept, typename ValueType, 
             typename Reference, typename Pointer, typename DifferenceType> 
      struct iterator_interface;
    template<typename Derived, typename IteratorConcept, typename ValueType, 
             typename Reference, typename Pointer, typename DifferenceType> 
      struct iterator_interface;
    template<typename T> struct proxy_arrow_result;
    typedef iterator_interface< Derived, IteratorConcept, ValueType, Reference, proxy_arrow_result< Reference >, DifferenceType > proxy_iterator_interface;
    template<typename IteratorInterface1, typename IteratorInterface2, 
             typename Enable = std::enable_if_t<!v1_dtl::ra_iter<IteratorInterface1>::value> > 
      constexpr auto operator==(IteratorInterface1, IteratorInterface2);
    template<typename IteratorInterface1, typename IteratorInterface2> 
      constexpr auto operator!=(IteratorInterface1, IteratorInterface2);
    template<typename IteratorInterface1, typename IteratorInterface2> 
      constexpr auto operator<(IteratorInterface1, IteratorInterface2);
    template<typename IteratorInterface1, typename IteratorInterface2> 
      constexpr auto operator<=(IteratorInterface1, IteratorInterface2);
    template<typename IteratorInterface1, typename IteratorInterface2> 
      constexpr auto operator>(IteratorInterface1, IteratorInterface2);
    template<typename IteratorInterface1, typename IteratorInterface2> 
      constexpr auto operator>=(IteratorInterface1, IteratorInterface2);
    namespace v1 {
      template<typename Derived, typename IteratorConcept, typename ValueType, 
               typename Reference, typename Pointer, typename DifferenceType> 
        struct iterator_interface;
      template<typename Derived, typename IteratorConcept, typename ValueType, 
               typename Reference, typename Pointer, typename DifferenceType> 
        struct iterator_interface;
      typedef iterator_interface< Derived, IteratorConcept, ValueType, Reference, proxy_arrow_result< Reference >, DifferenceType > proxy_iterator_interface;
      template<typename IteratorInterface1, typename IteratorInterface2, 
               typename Enable = std::enable_if_t<!v1_dtl::ra_iter<IteratorInterface1>::value> > 
        constexpr auto operator==(IteratorInterface1, IteratorInterface2);
      template<typename IteratorInterface1, typename IteratorInterface2> 
        constexpr auto operator!=(IteratorInterface1, IteratorInterface2);
      template<typename IteratorInterface1, typename IteratorInterface2> 
        constexpr auto operator<(IteratorInterface1, IteratorInterface2);
      template<typename IteratorInterface1, typename IteratorInterface2> 
        constexpr auto operator<=(IteratorInterface1, IteratorInterface2);
      template<typename IteratorInterface1, typename IteratorInterface2> 
        constexpr auto operator>(IteratorInterface1, IteratorInterface2);
      template<typename IteratorInterface1, typename IteratorInterface2> 
        constexpr auto operator>=(IteratorInterface1, IteratorInterface2);
    }
  }
}
namespace boost {
  namespace stl_interfaces {
    template<typename BidiIter> struct reverse_iterator;
    template<typename BidiIter> struct reverse_iterator;
    template<typename BidiIter> 
      constexpr auto 
      operator==(reverse_iterator< BidiIter > lhs, 
                 reverse_iterator< BidiIter > rhs);
    template<typename BidiIter1, typename BidiIter2> 
      constexpr auto 
      operator==(reverse_iterator< BidiIter1 > lhs, 
                 reverse_iterator< BidiIter2 > rhs);
    template<typename BidiIter> auto make_reverse_iterator(BidiIter);
    namespace v1 {
      template<typename BidiIter> struct reverse_iterator;
      template<typename BidiIter> struct reverse_iterator;
      template<typename BidiIter> 
        constexpr auto 
        operator==(reverse_iterator< BidiIter > lhs, 
                   reverse_iterator< BidiIter > rhs);
      template<typename BidiIter1, typename BidiIter2> 
        constexpr auto 
        operator==(reverse_iterator< BidiIter1 > lhs, 
                   reverse_iterator< BidiIter2 > rhs);
      template<typename BidiIter> auto make_reverse_iterator(BidiIter);
    }
    namespace v2 {
      typedef std::reverse_iterator< BidiIter > reverse_iterator;
      template<typename BidiIter> auto make_reverse_iterator(BidiIter);
    }
  }
}
namespace boost {
  namespace stl_interfaces {
    template<typename Derived, element_layout Contiguity> 
      struct sequence_container_interface;
    template<typename Derived, element_layout Contiguity> 
      struct sequence_container_interface;
    template<typename ContainerInterface> 
      constexpr auto swap(ContainerInterface &, ContainerInterface &);
    template<typename ContainerInterface> 
      constexpr auto 
      operator==(ContainerInterface const &, ContainerInterface const &);
    template<typename ContainerInterface> 
      constexpr auto 
      operator!=(ContainerInterface const &, ContainerInterface const &);
    template<typename ContainerInterface> 
      constexpr auto 
      operator<(ContainerInterface const &, ContainerInterface const &);
    template<typename ContainerInterface> 
      constexpr auto 
      operator<=(ContainerInterface const &, ContainerInterface const &);
    template<typename ContainerInterface> 
      constexpr auto 
      operator>(ContainerInterface const &, ContainerInterface const &);
    template<typename ContainerInterface> 
      constexpr auto 
      operator>=(ContainerInterface const &, ContainerInterface const &);
    namespace v1 {
      template<typename Derived, element_layout Contiguity> 
        struct sequence_container_interface;
      template<typename Derived, element_layout Contiguity> 
        struct sequence_container_interface;
      template<typename ContainerInterface> 
        constexpr auto swap(ContainerInterface &, ContainerInterface &);
      template<typename ContainerInterface> 
        constexpr auto 
        operator==(ContainerInterface const &, ContainerInterface const &);
      template<typename ContainerInterface> 
        constexpr auto 
        operator!=(ContainerInterface const &, ContainerInterface const &);
      template<typename ContainerInterface> 
        constexpr auto 
        operator<(ContainerInterface const &, ContainerInterface const &);
      template<typename ContainerInterface> 
        constexpr auto 
        operator<=(ContainerInterface const &, ContainerInterface const &);
      template<typename ContainerInterface> 
        constexpr auto 
        operator>(ContainerInterface const &, ContainerInterface const &);
      template<typename ContainerInterface> 
        constexpr auto 
        operator>=(ContainerInterface const &, ContainerInterface const &);
    }
  }
}
namespace boost {
  namespace stl_interfaces {
    template<typename Derived, element_layout Contiguity> struct view_interface;
    template<typename Derived, element_layout Contiguity> struct view_interface;
    template<typename ViewInterface> 
      constexpr auto operator!=(ViewInterface, ViewInterface);
    namespace v1 {
      template<typename Derived, element_layout Contiguity> struct view_interface;
      template<typename Derived, element_layout Contiguity> struct view_interface;
      template<typename ViewInterface> 
        constexpr auto operator!=(ViewInterface, ViewInterface);
    }
    namespace v2 {
      typedef std::ranges::view_interface< D > view_interface;
    }
  }
}

PrevUpHomeNext