591 lines
57 KiB
XML
591 lines
57 KiB
XML
<?xml version="1.0" standalone="yes"?>
|
|
<library-reference id="headers"><title>Headers</title><header name="boost/stl_interfaces/fwd.hpp">
|
|
<namespace name="boost">
|
|
<namespace name="stl_interfaces">
|
|
<namespace name="v1">
|
|
<namespace name="v1_dtl">
|
|
<struct name="decrementable_sentinel"><template>
|
|
<template-type-parameter name="Range"/>
|
|
<template-type-parameter name=""><default>void</default></template-type-parameter>
|
|
</template><inherit access="public">false_type</inherit></struct><struct-specialization name="decrementable_sentinel"><template>
|
|
<template-type-parameter name="Range"/>
|
|
</template><specialization><template-arg>Range</template-arg><template-arg>void_t< decltype(--std::declval< sentinel_t< Range > & >())></template-arg></specialization><inherit access="public">true_type</inherit></struct-specialization><struct name="iterator"><template>
|
|
<template-type-parameter name="Range"/>
|
|
<template-type-parameter name=""><default>void</default></template-type-parameter>
|
|
</template></struct><struct-specialization name="iterator"><template>
|
|
<template-type-parameter name="Range"/>
|
|
</template><specialization><template-arg>Range</template-arg><template-arg>void_t< decltype(std::declval< Range & >().begin())></template-arg></specialization><typedef name="type"><type>decltype(std::declval< Range & >().begin())</type></typedef>
|
|
</struct-specialization><struct name="sentinel"><template>
|
|
<template-type-parameter name="Range"/>
|
|
<template-type-parameter name=""><default>void</default></template-type-parameter>
|
|
</template></struct><struct-specialization name="sentinel"><template>
|
|
<template-type-parameter name="Range"/>
|
|
</template><specialization><template-arg>Range</template-arg><template-arg>void_t< decltype(std::declval< Range & >().end())></template-arg></specialization><typedef name="type"><type>decltype(std::declval< Range & >().end())</type></typedef>
|
|
</struct-specialization><typedef name="void_t"><type>void</type></typedef>
|
|
<typedef name="iter_difference_t"><type>typename std::iterator_traits< Iter >::difference_type</type></typedef>
|
|
<typedef name="iterator_t"><type>typename <classname>iterator</classname>< Range >::type</type></typedef>
|
|
<typedef name="sentinel_t"><type>typename <classname>sentinel</classname>< Range >::type</type></typedef>
|
|
<typedef name="range_difference_t"><type>iter_difference_t< iterator_t< Range > ></type></typedef>
|
|
<typedef name="common_range"><type>std::is_same< iterator_t< Range >, sentinel_t< Range > ></type></typedef>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</namespace>
|
|
<enum name="element_layout"><enumvalue name="discontiguous"><default>= false</default></enumvalue><enumvalue name="contiguous"><default>= true</default></enumvalue><description><para>An enumeration used to indicate whether the underlying data have a contiguous or discontiguous layout when instantiating <computeroutput><classname alt="boost::stl_interfaces::v1::view_interface">view_interface</classname></computeroutput> and <computeroutput><classname alt="boost::stl_interfaces::v1::sequence_container_interface">sequence_container_interface</classname></computeroutput>. </para></description></enum>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</namespace>
|
|
</namespace>
|
|
</namespace>
|
|
</header>
|
|
<header name="boost/stl_interfaces/iterator_interface.hpp">
|
|
<namespace name="boost">
|
|
<namespace name="stl_interfaces">
|
|
<struct name="access"><description><para>A type for granting access to the private members of an iterator derived from <computeroutput>iterator_interface</computeroutput>. </para></description></struct><struct name="proxy_arrow_result"><template>
|
|
<template-type-parameter name="T"/>
|
|
</template><description><para>The return type of <computeroutput>operator->()</computeroutput> in a proxy iterator.</para><para>This template is used as the default <computeroutput>Pointer</computeroutput> template parameter in the <computeroutput>proxy_iterator_interface</computeroutput> template alias. Note that the use of this template implies a copy or move of the underlying object of type <computeroutput>T</computeroutput>. </para></description><method-group name="public member functions">
|
|
<method name="operator->" cv="const noexcept"><type>constexpr T const *</type></method>
|
|
<method name="operator->" cv="noexcept"><type>constexpr T *</type></method>
|
|
</method-group>
|
|
<constructor cv="noexcept(noexcept(T(value))))"><parameter name="value"><paramtype>T const &</paramtype></parameter></constructor>
|
|
<constructor cv="noexcept(noexcept(T(std::move(value)))))"><parameter name="value"><paramtype>T &&</paramtype></parameter></constructor>
|
|
</struct><namespace name="v1">
|
|
<struct name="iterator_interface"><template>
|
|
<template-type-parameter name="Derived"/>
|
|
<template-type-parameter name="IteratorConcept"/>
|
|
<template-type-parameter name="ValueType"/>
|
|
<template-type-parameter name="Reference"/>
|
|
<template-type-parameter name="Pointer"/>
|
|
<template-type-parameter name="DifferenceType"/>
|
|
</template><description><para>A CRTP template that one may derive from to make defining iterators easier.</para><para>The template parameter <computeroutput>D</computeroutput> for <computeroutput><classname alt="boost::stl_interfaces::v1::iterator_interface">iterator_interface</classname></computeroutput> may be an incomplete type. Before any member of the resulting specialization of <computeroutput><classname alt="boost::stl_interfaces::v1::iterator_interface">iterator_interface</classname></computeroutput> other than special member functions is referenced, <computeroutput>D</computeroutput> shall be complete, and model <computeroutput>std::derived_from<<classname alt="boost::stl_interfaces::v1::iterator_interface">iterator_interface</classname><D>></computeroutput>. </para></description><typedef name="iterator_concept"><type>IteratorConcept</type></typedef>
|
|
<typedef name="iterator_category"><type><emphasis>unspecified</emphasis></type></typedef>
|
|
<typedef name="value_type"><type>std::remove_const_t< ValueType ></type></typedef>
|
|
<typedef name="reference"><type>Reference</type></typedef>
|
|
<typedef name="pointer"><type><emphasis>unspecified</emphasis></type></typedef>
|
|
<typedef name="difference_type"><type>DifferenceType</type></typedef>
|
|
<method-group name="public member functions">
|
|
<method name="operator *" cv="const noexcept(noexcept(*access::base(std::declval< D const & >()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="operator->" cv="const noexcept(noexcept(detail::make_pointer< pointer >(*std::declval< D const & >()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="operator[]" cv="const noexcept(noexcept(D(std::declval< D const & >()), std::declval< D & >()+=i, *std::declval< D & >())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="i"><paramtype>difference_type</paramtype></parameter></method>
|
|
<method name="operator++" cv="noexcept(noexcept(++access::base(std::declval< D & >()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t<!<classname alt="boost::stl_interfaces::v1::v1_dtl::plus_eq">v1_dtl::plus_eq</classname><D, difference_type>::value></default></template-type-parameter>
|
|
</template></method>
|
|
<method name="operator++" cv="noexcept(noexcept(std::declval< D & >()+=difference_type(1))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="operator++" cv="noexcept(noexcept(D(std::declval< D & >()),++std::declval< D & >())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name=""><paramtype>int</paramtype></parameter></method>
|
|
<method name="operator+=" cv="noexcept(noexcept(access::base(std::declval< D & >())+=n)))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="n"><paramtype>difference_type</paramtype></parameter></method>
|
|
<method name="operator+" cv="const noexcept(noexcept(D(std::declval< D & >()), std::declval< D & >()+=i)))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="i"><paramtype>difference_type</paramtype></parameter></method>
|
|
<method name="operator--" cv="noexcept(noexcept(--access::base(std::declval< D & >()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t<!<classname alt="boost::stl_interfaces::v1::v1_dtl::plus_eq">v1_dtl::plus_eq</classname><D, difference_type>::value></default></template-type-parameter>
|
|
</template></method>
|
|
<method name="operator--" cv="noexcept(noexcept(D(std::declval< D & >()), std::declval< D & >()+=-difference_type(1))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="operator--" cv="noexcept(noexcept(D(std::declval< D & >()), --std::declval< D & >())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name=""><paramtype>int</paramtype></parameter></method>
|
|
<method name="operator-=" cv="noexcept"><type>constexpr D &</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="i"><paramtype>difference_type</paramtype></parameter></method>
|
|
<method name="operator-" cv="const noexcept(noexcept(access::base(std::declval< D const & >()) - access::base(other))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="other"><paramtype>D</paramtype></parameter></method>
|
|
</method-group>
|
|
</struct><namespace name="v1_dtl">
|
|
<struct name="plus_eq"><template>
|
|
<template-type-parameter name="Iterator"/>
|
|
<template-type-parameter name="DifferenceType"/>
|
|
<template-type-parameter name=""><default>void</default></template-type-parameter>
|
|
</template><inherit access="public">false_type</inherit></struct><struct-specialization name="plus_eq"><template>
|
|
<template-type-parameter name="Iterator"/>
|
|
<template-type-parameter name="DifferenceType"/>
|
|
</template><specialization><template-arg>Iterator</template-arg><template-arg>DifferenceType</template-arg><template-arg>void_t< decltype(std::declval< Iterator & >()+=std::declval< DifferenceType >())></template-arg></specialization><inherit access="public">true_type</inherit></struct-specialization><struct name="ra_iter"><template>
|
|
<template-type-parameter name="Iterator"/>
|
|
<template-type-parameter name=""><default>void</default></template-type-parameter>
|
|
</template><inherit access="public">false_type</inherit></struct><struct-specialization name="ra_iter"><template>
|
|
<template-type-parameter name="Iterator"/>
|
|
</template><specialization><template-arg>Iterator</template-arg><template-arg>void_t< typename Iterator::iterator_concept ></template-arg></specialization><inherit access="public">std::integral_constant< bool, std::is_base_of< std::random_access_iterator_tag, Iterator::iterator_concept >::value ></inherit></struct-specialization>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<function name="derived_iterator"><type>void</type><template>
|
|
<template-type-parameter name="D"/>
|
|
<template-type-parameter name="IteratorConcept"/>
|
|
<template-type-parameter name="ValueType"/>
|
|
<template-type-parameter name="Reference"/>
|
|
<template-type-parameter name="Pointer"/>
|
|
<template-type-parameter name="DifferenceType"/>
|
|
</template><parameter name=""><paramtype><classname>iterator_interface</classname>< D, IteratorConcept, ValueType, Reference, Pointer, DifferenceType > const &</paramtype></parameter></function>
|
|
</namespace>
|
|
<typedef name="proxy_iterator_interface"><description><para>A template alias useful for defining proxy iterators. <para><emphasis role="bold">See Also:</emphasis><para><computeroutput><classname alt="boost::stl_interfaces::v1::iterator_interface">iterator_interface</classname></computeroutput>. </para>
|
|
</para>
|
|
</para></description><type><classname>iterator_interface</classname>< Derived, IteratorConcept, ValueType, Reference, <classname>proxy_arrow_result</classname>< Reference >, DifferenceType ></type></typedef>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<function name="operator=="><type>constexpr auto</type><template>
|
|
<template-type-parameter name="IteratorInterface1"/>
|
|
<template-type-parameter name="IteratorInterface2"/>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t<!v1_dtl::ra_iter<IteratorInterface1>::value></default></template-type-parameter>
|
|
</template><parameter name="lhs"><paramtype>IteratorInterface1</paramtype></parameter><parameter name="rhs"><paramtype>IteratorInterface2</paramtype></parameter><description><para>Implementation of <computeroutput>operator==()</computeroutput>, implemented in terms of the iterator underlying IteratorInterface, for all iterators derived from <computeroutput><classname alt="boost::stl_interfaces::v1::iterator_interface">iterator_interface</classname></computeroutput>, except those with an iterator category derived from <computeroutput>std::random_access_iterator_tag</computeroutput>.</para><para>Implementation of <computeroutput>operator==()</computeroutput> for all iterators derived from <computeroutput><classname alt="boost::stl_interfaces::v1::iterator_interface">iterator_interface</classname></computeroutput> that have an iterator category derived from <computeroutput>std::random_access_iterator_tag</computeroutput>. </para></description></function>
|
|
<function name="operator!="><type>constexpr auto</type><template>
|
|
<template-type-parameter name="IteratorInterface1"/>
|
|
<template-type-parameter name="IteratorInterface2"/>
|
|
</template><parameter name="lhs"><paramtype>IteratorInterface1</paramtype></parameter><parameter name="rhs"><paramtype>IteratorInterface2</paramtype></parameter><description><para>Implementation of <computeroutput>operator!=()</computeroutput> for all iterators derived from <computeroutput><classname alt="boost::stl_interfaces::v1::iterator_interface">iterator_interface</classname></computeroutput>. </para></description></function>
|
|
<function name="operator<"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="IteratorInterface1"/>
|
|
<template-type-parameter name="IteratorInterface2"/>
|
|
</template><parameter name="lhs"><paramtype>IteratorInterface1</paramtype></parameter><parameter name="rhs"><paramtype>IteratorInterface2</paramtype></parameter><description><para>Implementation of <computeroutput>operator<()</computeroutput> for all iterators derived from <computeroutput><classname alt="boost::stl_interfaces::v1::iterator_interface">iterator_interface</classname></computeroutput> that have an iterator category derived from <computeroutput>std::random_access_iterator_tag</computeroutput>. </para></description></function>
|
|
<function name="operator<="><type>constexpr auto</type><template>
|
|
<template-type-parameter name="IteratorInterface1"/>
|
|
<template-type-parameter name="IteratorInterface2"/>
|
|
</template><parameter name="lhs"><paramtype>IteratorInterface1</paramtype></parameter><parameter name="rhs"><paramtype>IteratorInterface2</paramtype></parameter><description><para>Implementation of <computeroutput>operator<=()</computeroutput> for all iterators derived from <computeroutput><classname alt="boost::stl_interfaces::v1::iterator_interface">iterator_interface</classname></computeroutput> that have an iterator category derived from <computeroutput>std::random_access_iterator_tag</computeroutput>. </para></description></function>
|
|
<function name="operator>"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="IteratorInterface1"/>
|
|
<template-type-parameter name="IteratorInterface2"/>
|
|
</template><parameter name="lhs"><paramtype>IteratorInterface1</paramtype></parameter><parameter name="rhs"><paramtype>IteratorInterface2</paramtype></parameter><description><para>Implementation of <computeroutput>operator>()</computeroutput> for all iterators derived from <computeroutput><classname alt="boost::stl_interfaces::v1::iterator_interface">iterator_interface</classname></computeroutput> that have an iterator category derived from <computeroutput>std::random_access_iterator_tag</computeroutput>. </para></description></function>
|
|
<function name="operator>="><type>constexpr auto</type><template>
|
|
<template-type-parameter name="IteratorInterface1"/>
|
|
<template-type-parameter name="IteratorInterface2"/>
|
|
</template><parameter name="lhs"><paramtype>IteratorInterface1</paramtype></parameter><parameter name="rhs"><paramtype>IteratorInterface2</paramtype></parameter><description><para>Implementation of <computeroutput>operator>=()</computeroutput> for all iterators derived from <computeroutput><classname alt="boost::stl_interfaces::v1::iterator_interface">iterator_interface</classname></computeroutput> that have an iterator category derived from <computeroutput>std::random_access_iterator_tag</computeroutput>. </para></description></function>
|
|
</namespace>
|
|
</namespace>
|
|
</namespace>
|
|
<macro name="BOOST_STL_INTERFACES_STATIC_ASSERT_CONCEPT" kind="functionlike"><macro-parameter name="type"/><macro-parameter name="concept_name"/><description><para><computeroutput>static_asserts</computeroutput> that type <computeroutput>type</computeroutput> models concept <computeroutput>concept_name</computeroutput>. This is useful for checking that an iterator, view, etc. that you write using one of the *<computeroutput>_interface</computeroutput> templates models the right C++ concept.</para><para>For example: <computeroutput>BOOST_STL_INTERFACES_STATIC_ASSERT_CONCEPT(my_iter, std::input_iterator)</computeroutput>.</para><para><note><para>This macro expands to nothing when <computeroutput>__cpp_lib_concepts</computeroutput> is not defined. </para>
|
|
</note>
|
|
</para></description></macro>
|
|
<macro name="BOOST_STL_INTERFACES_STATIC_ASSERT_ITERATOR_TRAITS" kind="functionlike"><macro-parameter name="iter"/><macro-parameter name="category"/><macro-parameter name="concept"/><macro-parameter name="value_type"/><macro-parameter name="reference"/><macro-parameter name="pointer"/><macro-parameter name="difference_type"/><description><para><computeroutput>static_asserts</computeroutput> that the types of all typedefs in <computeroutput>std::iterator_traits<iter></computeroutput> match the remaining macro parameters. This is useful for checking that an iterator you write using <computeroutput>iterator_interface</computeroutput> has the correct iterator traits.</para><para>For example: <computeroutput>BOOST_STL_INTERFACES_STATIC_ASSERT_ITERATOR_TRAITS(my_iter, std::input_iterator_tag, std::input_iterator_tag, int, int &, int *, std::ptrdiff_t)</computeroutput>.</para><para><note><para>This macro ignores the <computeroutput>concept</computeroutput> parameter when <computeroutput>__cpp_lib_concepts</computeroutput> is not defined. </para>
|
|
</note>
|
|
</para></description></macro>
|
|
</header>
|
|
<header name="boost/stl_interfaces/reverse_iterator.hpp">
|
|
<namespace name="boost">
|
|
<namespace name="stl_interfaces">
|
|
<namespace name="v1">
|
|
<struct name="reverse_iterator"><template>
|
|
<template-type-parameter name="BidiIter"/>
|
|
</template><inherit access="public">boost::stl_interfaces::v1::iterator_interface< reverse_iterator< BidiIter >, std::iterator_traits< BidiIter >::iterator_category, std::iterator_traits< BidiIter >::value_type, std::iterator_traits< BidiIter >::reference, std::iterator_traits< BidiIter >::pointer, std::iterator_traits< BidiIter >::difference_type ></inherit><description><para>This type is very similar to the C++20 version of <computeroutput>std::reverse_iterator</computeroutput>; it is <computeroutput>constexpr</computeroutput>-, <computeroutput>noexcept</computeroutput>-, and proxy-friendly. </para></description><method-group name="friend functions">
|
|
<method name="reverse_iterator"><type>friend struct</type><template>
|
|
<template-type-parameter name="BidiIter2"/>
|
|
</template><description><para>A template alias for <computeroutput>std::reverse_iterator</computeroutput>. This only exists to make migration from Boost.STLInterfaces to C++20 easier; switch to the one in <computeroutput>std</computeroutput> as soon as you can. </para></description></method>
|
|
</method-group>
|
|
<method-group name="public member functions">
|
|
<method name="operator *" cv="const noexcept(noexcept(std::prev(v1_dtl::ce_prev(std::declval< BidiIter & >())))))"><type>constexpr std::iterator_traits< BidiIter >::reference</type></method>
|
|
<method name="operator+=" cv="noexcept(noexcept(v1_dtl::ce_adv(std::declval< BidiIter & >(), -n, typename std::iterator_traits< BidiIter >::iterator_category{}))))"><type>constexpr <classname>reverse_iterator</classname> &</type><parameter name="n"><paramtype>typename std::iterator_traits< BidiIter >::difference_type</paramtype></parameter></method>
|
|
<method name="base" cv="const noexcept"><type>constexpr BidiIter</type></method>
|
|
</method-group>
|
|
<constructor cv="noexcept(noexcept(BidiIter())))"/>
|
|
<constructor cv="noexcept(noexcept(BidiIter(it))))"><parameter name="it"><paramtype>BidiIter</paramtype></parameter></constructor>
|
|
<constructor><template>
|
|
<template-type-parameter name="BidiIter2"/>
|
|
<template-type-parameter name="E"><default>std::enable_if_t< std::is_convertible<BidiIter2, BidiIter>::value></default></template-type-parameter>
|
|
</template><parameter name="it"><paramtype><classname>reverse_iterator</classname>< BidiIter2 > const &</paramtype></parameter></constructor>
|
|
<method-group name="private member functions">
|
|
<method name="base_reference" cv="noexcept"><type>constexpr BidiIter &</type></method>
|
|
<method name="base_reference" cv="const noexcept"><type>constexpr BidiIter const &</type></method>
|
|
</method-group>
|
|
</struct><namespace name="v1_dtl">
|
|
|
|
|
|
<function name="ce_dist"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="Iter"/>
|
|
</template><parameter name="f"><paramtype>Iter</paramtype></parameter><parameter name="l"><paramtype>Iter</paramtype></parameter><parameter name=""><paramtype>std::random_access_iterator_tag</paramtype></parameter></function>
|
|
<function name="ce_dist"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="Iter"/>
|
|
<template-type-parameter name="Tag"/>
|
|
</template><parameter name="f"><paramtype>Iter</paramtype></parameter><parameter name="l"><paramtype>Iter</paramtype></parameter><parameter name=""><paramtype>Tag</paramtype></parameter></function>
|
|
<function name="ce_prev"><type>constexpr Iter</type><template>
|
|
<template-type-parameter name="Iter"/>
|
|
</template><parameter name="it"><paramtype>Iter</paramtype></parameter></function>
|
|
<function name="ce_adv"><type>constexpr void</type><template>
|
|
<template-type-parameter name="Iter"/>
|
|
<template-type-parameter name="Offset"/>
|
|
</template><parameter name="f"><paramtype>Iter &</paramtype></parameter><parameter name="n"><paramtype>Offset</paramtype></parameter><parameter name=""><paramtype>std::random_access_iterator_tag</paramtype></parameter></function>
|
|
<function name="ce_adv"><type>constexpr void</type><template>
|
|
<template-type-parameter name="Iter"/>
|
|
<template-type-parameter name="Offset"/>
|
|
<template-type-parameter name="Tag"/>
|
|
</template><parameter name="f"><paramtype>Iter &</paramtype></parameter><parameter name="n"><paramtype>Offset</paramtype></parameter><parameter name=""><paramtype>Tag</paramtype></parameter></function>
|
|
|
|
</namespace>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<function name="operator=="><type>constexpr auto</type><template>
|
|
<template-type-parameter name="BidiIter"/>
|
|
</template><parameter name="lhs"><paramtype><classname>reverse_iterator</classname>< BidiIter ></paramtype></parameter><parameter name="rhs"><paramtype><classname>reverse_iterator</classname>< BidiIter ></paramtype></parameter></function>
|
|
<function name="operator=="><type>constexpr auto</type><template>
|
|
<template-type-parameter name="BidiIter1"/>
|
|
<template-type-parameter name="BidiIter2"/>
|
|
</template><parameter name="lhs"><paramtype><classname>reverse_iterator</classname>< BidiIter1 ></paramtype></parameter><parameter name="rhs"><paramtype><classname>reverse_iterator</classname>< BidiIter2 ></paramtype></parameter></function>
|
|
<function name="make_reverse_iterator"><type>auto</type><template>
|
|
<template-type-parameter name="BidiIter"/>
|
|
</template><parameter name="it"><paramtype>BidiIter</paramtype></parameter><description><para>Makes a <computeroutput><classname alt="boost::stl_interfaces::v1::reverse_iterator">reverse_iterator</classname><BidiIter></computeroutput> from an iterator of type <computeroutput>Bidiiter</computeroutput>. </para></description></function>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</namespace>
|
|
<namespace name="v2">
|
|
<typedef name="reverse_iterator"><description><para>A template alias for <computeroutput>std::reverse_iterator</computeroutput>. This only exists to make migration from Boost.STLInterfaces to C++20 easier; switch to the one in <computeroutput>std</computeroutput> as soon as you can. </para></description><type>std::reverse_iterator< BidiIter ></type></typedef>
|
|
<function name="make_reverse_iterator"><type>auto</type><template>
|
|
<template-type-parameter name="BidiIter"/>
|
|
</template><parameter name="it"><paramtype>BidiIter</paramtype></parameter><description><para>Makes a <computeroutput>reverse_iterator<BidiIter></computeroutput> from an iterator of type <computeroutput>Bidiiter</computeroutput>. This only exists to make migration from Boost.STLInterfaces to C++20 easier; switch to the one in <computeroutput>std</computeroutput> as soon as you can. </para></description></function>
|
|
</namespace>
|
|
</namespace>
|
|
</namespace>
|
|
</header>
|
|
<header name="boost/stl_interfaces/sequence_container_interface.hpp">
|
|
<namespace name="boost">
|
|
<namespace name="stl_interfaces">
|
|
<namespace name="v1">
|
|
<struct name="sequence_container_interface"><template>
|
|
<template-type-parameter name="Derived"/>
|
|
<template-nontype-parameter name="Contiguity"><type>element_layout</type></template-nontype-parameter>
|
|
</template><description><para>A CRTP template that one may derive from to make it easier to define container types.</para><para>The template parameter <computeroutput>D</computeroutput> for <computeroutput><classname alt="boost::stl_interfaces::v1::sequence_container_interface">sequence_container_interface</classname></computeroutput> may be an incomplete type. Before any member of the resulting specialization of <computeroutput><classname alt="boost::stl_interfaces::v1::sequence_container_interface">sequence_container_interface</classname></computeroutput> other than special member functions is referenced, <computeroutput>D</computeroutput> shall be complete; shall model <computeroutput>std::derived_from<<classname alt="boost::stl_interfaces::v1::sequence_container_interface">sequence_container_interface</classname><D>></computeroutput>, <computeroutput>std::semiregular</computeroutput>, and <computeroutput>std::forward_range</computeroutput>; and shall contain all the nested types required in Table 72: Container requirements and, for those whose iterator nested type models <computeroutput>std::bidirectinal_iterator</computeroutput>, those in Table 73: Reversible container requirements.</para><para>For an object <computeroutput>d</computeroutput> of type <computeroutput>D</computeroutput>, a call to <computeroutput>std::ranges::begin(d)</computeroutput> sxhall not mutate any data members of <computeroutput>d</computeroutput>, and <computeroutput>d</computeroutput>'s destructor shall end the lifetimes of the objects in <computeroutput>[std::ranges::begin(d), std::ranges::end(d))</computeroutput>. </para></description><method-group name="public member functions">
|
|
<method name="empty" cv="noexcept(noexcept(std::declval< D & >().begin()==std::declval< D & >().end())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="empty" cv="const noexcept(noexcept(std::declval< D const & >().begin()==std::declval< D const & >().end())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="data" cv="noexcept(noexcept(std::declval< D & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-nontype-parameter name="C"><type>element_layout</type><default>Contiguity</default></template-nontype-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t<C == element_layout::contiguous></default></template-type-parameter>
|
|
</template></method>
|
|
<method name="data" cv="const noexcept(noexcept(std::declval< D const & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-nontype-parameter name="C"><type>element_layout</type><default>Contiguity</default></template-nontype-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t<C == element_layout::contiguous></default></template-type-parameter>
|
|
</template></method>
|
|
<method name="size" cv="noexcept(noexcept(std::declval< D & >().end() - std::declval< D & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="size" cv="const noexcept(noexcept(std::declval< D const & >().end() - std::declval< D const & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="front" cv="noexcept(noexcept(*std::declval< D & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="front" cv="const noexcept(noexcept(*std::declval< D const & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="push_front" cv="noexcept(noexcept(std::declval< D & >().emplace_front(x))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="x"><paramtype>typename D::value_type const &</paramtype></parameter></method>
|
|
<method name="push_front" cv="noexcept(noexcept(std::declval< D & >().emplace_front(std::move(x)))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="x"><paramtype>typename D::value_type &&</paramtype></parameter></method>
|
|
<method name="pop_front" cv="noexcept"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="back" cv="noexcept(noexcept(*std::prev(std::declval< D & >().end()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t< <classname alt="boost::stl_interfaces::v1::v1_dtl::decrementable_sentinel">v1_dtl::decrementable_sentinel</classname><D>::value && v1_dtl::common_range<D>::value></default></template-type-parameter>
|
|
</template></method>
|
|
<method name="back" cv="const noexcept(noexcept(*std::prev(std::declval< D const & >().end()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t< <classname alt="boost::stl_interfaces::v1::v1_dtl::decrementable_sentinel">v1_dtl::decrementable_sentinel</classname><D>::value && v1_dtl::common_range<D>::value></default></template-type-parameter>
|
|
</template></method>
|
|
<method name="push_back" cv="noexcept(noexcept(std::declval< D & >().emplace_back(x))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="x"><paramtype>typename D::value_type const &</paramtype></parameter></method>
|
|
<method name="push_back" cv="noexcept(noexcept(std::declval< D & >().emplace_back(std::move(x)))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="x"><paramtype>typename D::value_type &&</paramtype></parameter></method>
|
|
<method name="pop_back" cv="noexcept"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="operator[]" cv="noexcept(noexcept(std::declval< D & >().begin()[n])))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="n"><paramtype>typename D::size_type</paramtype></parameter></method>
|
|
<method name="operator[]" cv="const noexcept(noexcept(std::declval< D const & >().begin()[n])))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="n"><paramtype>typename D::size_type</paramtype></parameter></method>
|
|
<method name="at"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="i"><paramtype>typename D::size_type</paramtype></parameter></method>
|
|
<method name="at" cv="const"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="i"><paramtype>typename D::size_type</paramtype></parameter></method>
|
|
<method name="begin" cv="const noexcept(noexcept(std::declval< D & >().begin())))"><type>constexpr Iter</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="Iter"><default>typename D::const_iterator</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="end" cv="const noexcept(noexcept(std::declval< D & >().end())))"><type>constexpr Iter</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="Iter"><default>typename D::const_iterator</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="cbegin" cv="const noexcept(noexcept(std::declval< D const & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="cend" cv="const noexcept(noexcept(std::declval< D const & >().end())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="rbegin" cv="noexcept(noexcept(stl_interfaces::make_reverse_iterator(std::declval< D & >().end()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t<v1_dtl::common_range<D>::value></default></template-type-parameter>
|
|
</template></method>
|
|
<method name="rend" cv="noexcept(noexcept(stl_interfaces::make_reverse_iterator(std::declval< D & >().begin()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t<v1_dtl::common_range<D>::value></default></template-type-parameter>
|
|
</template></method>
|
|
<method name="rbegin" cv="const noexcept(noexcept(std::declval< D & >().rbegin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="rend" cv="const noexcept(noexcept(std::declval< D & >().rend())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="crbegin" cv="const noexcept(noexcept(std::declval< D const & >().rbegin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="crend" cv="const noexcept(noexcept(std::declval< D const & >().rend())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="insert" cv="noexcept(noexcept(std::declval< D & >().emplace(pos, x))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="pos"><paramtype>typename D::const_iterator</paramtype></parameter><parameter name="x"><paramtype>typename D::value_type const &</paramtype></parameter></method>
|
|
<method name="insert" cv="noexcept(noexcept(std::declval< D & >() .emplace(pos, std::move(x)))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="pos"><paramtype>typename D::const_iterator</paramtype></parameter><parameter name="x"><paramtype>typename D::value_type &&</paramtype></parameter></method>
|
|
<method name="insert" cv="noexcept(noexcept(std::declval< D & >().insert(pos, detail::make_n_iter(x, n), detail::make_n_iter_end(x, n)))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="pos"><paramtype>typename D::const_iterator</paramtype></parameter><parameter name="n"><paramtype>typename D::size_type</paramtype></parameter><parameter name="x"><paramtype>typename D::value_type const &</paramtype></parameter></method>
|
|
<method name="insert" cv="noexcept(noexcept(std::declval< D & >() .insert(pos, il.begin(), il.end()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="pos"><paramtype>typename D::const_iterator</paramtype></parameter><parameter name="il"><paramtype>std::initializer_list< typename D::value_type ></paramtype></parameter></method>
|
|
<method name="erase" cv="noexcept"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="pos"><paramtype>typename D::const_iterator</paramtype></parameter></method>
|
|
<method name="assign" cv="noexcept(noexcept(std::declval< D & >().insert(std::declval< D & >().begin(), first, last))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="InputIterator"/>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t<v1_dtl::in_iter<InputIterator>::value></default></template-type-parameter>
|
|
</template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="last"><paramtype>InputIterator</paramtype></parameter></method>
|
|
<method name="assign" cv="noexcept(noexcept(std::declval< D & >() .insert(std::declval< D & >().begin(), detail::make_n_iter(x, n), detail::make_n_iter_end(x, n)))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="n"><paramtype>typename D::size_type</paramtype></parameter><parameter name="x"><paramtype>typename D::value_type const &</paramtype></parameter></method>
|
|
<method name="assign" cv="noexcept(noexcept(std::declval< D & >().assign(il.begin(), il.end()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="il"><paramtype>std::initializer_list< typename D::value_type ></paramtype></parameter></method>
|
|
<method name="clear" cv="noexcept"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
</method-group>
|
|
<copy-assignment cv="noexcept(noexcept(std::declval< D & >().assign(il.begin(), il.end()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="il"><paramtype>std::initializer_list< typename D::value_type ></paramtype></parameter></copy-assignment>
|
|
</struct><namespace name="v1_dtl">
|
|
<struct name="clear_impl"><template>
|
|
<template-type-parameter name="D"/>
|
|
<template-type-parameter name=""><default>void</default></template-type-parameter>
|
|
</template><method-group name="public static functions">
|
|
<method name="call" cv="noexcept" specifiers="static"><type>constexpr void</type><parameter name="d"><paramtype>D &</paramtype></parameter></method>
|
|
</method-group>
|
|
</struct><struct-specialization name="clear_impl"><template>
|
|
<template-type-parameter name="D"/>
|
|
</template><specialization><template-arg>D</template-arg><template-arg>void_t< decltype(std::declval< D >().clear())></template-arg></specialization><method-group name="public static functions">
|
|
<method name="call" cv="noexcept" specifiers="static"><type>constexpr void</type><parameter name="d"><paramtype>D &</paramtype></parameter></method>
|
|
</method-group>
|
|
</struct-specialization><typedef name="in_iter"><type>std::is_convertible< typename std::iterator_traits< Iter >::iterator_category, std::input_iterator_tag ></type></typedef>
|
|
|
|
<function name="derived_container"><type>void</type><template>
|
|
<template-type-parameter name="D"/>
|
|
<template-nontype-parameter name="Contiguity"><type>element_layout</type></template-nontype-parameter>
|
|
</template><parameter name=""><paramtype><classname>sequence_container_interface</classname>< D, Contiguity > const &</paramtype></parameter></function>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</namespace>
|
|
|
|
<function name="swap"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="ContainerInterface"/>
|
|
</template><parameter name="lhs"><paramtype>ContainerInterface &</paramtype></parameter><parameter name="rhs"><paramtype>ContainerInterface &</paramtype></parameter><description><para>Implementation of free function <computeroutput>swap()</computeroutput> for all containers derived from <computeroutput><classname alt="boost::stl_interfaces::v1::sequence_container_interface">sequence_container_interface</classname></computeroutput>. </para></description></function>
|
|
<function name="operator=="><type>constexpr auto</type><template>
|
|
<template-type-parameter name="ContainerInterface"/>
|
|
</template><parameter name="lhs"><paramtype>ContainerInterface const &</paramtype></parameter><parameter name="rhs"><paramtype>ContainerInterface const &</paramtype></parameter><description><para>Implementation of <computeroutput>operator==()</computeroutput> for all containers derived from <computeroutput><classname alt="boost::stl_interfaces::v1::sequence_container_interface">sequence_container_interface</classname></computeroutput>. </para></description></function>
|
|
<function name="operator!="><type>constexpr auto</type><template>
|
|
<template-type-parameter name="ContainerInterface"/>
|
|
</template><parameter name="lhs"><paramtype>ContainerInterface const &</paramtype></parameter><parameter name="rhs"><paramtype>ContainerInterface const &</paramtype></parameter><description><para>Implementation of <computeroutput>operator!=()</computeroutput> for all containers derived from <computeroutput><classname alt="boost::stl_interfaces::v1::sequence_container_interface">sequence_container_interface</classname></computeroutput>. </para></description></function>
|
|
<function name="operator<"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="ContainerInterface"/>
|
|
</template><parameter name="lhs"><paramtype>ContainerInterface const &</paramtype></parameter><parameter name="rhs"><paramtype>ContainerInterface const &</paramtype></parameter><description><para>Implementation of <computeroutput>operator<()</computeroutput> for all containers derived from <computeroutput><classname alt="boost::stl_interfaces::v1::sequence_container_interface">sequence_container_interface</classname></computeroutput>. </para></description></function>
|
|
<function name="operator<="><type>constexpr auto</type><template>
|
|
<template-type-parameter name="ContainerInterface"/>
|
|
</template><parameter name="lhs"><paramtype>ContainerInterface const &</paramtype></parameter><parameter name="rhs"><paramtype>ContainerInterface const &</paramtype></parameter><description><para>Implementation of <computeroutput>operator<=()</computeroutput> for all containers derived from <computeroutput><classname alt="boost::stl_interfaces::v1::sequence_container_interface">sequence_container_interface</classname></computeroutput>. </para></description></function>
|
|
<function name="operator>"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="ContainerInterface"/>
|
|
</template><parameter name="lhs"><paramtype>ContainerInterface const &</paramtype></parameter><parameter name="rhs"><paramtype>ContainerInterface const &</paramtype></parameter><description><para>Implementation of <computeroutput>operator>()</computeroutput> for all containers derived from <computeroutput><classname alt="boost::stl_interfaces::v1::sequence_container_interface">sequence_container_interface</classname></computeroutput>. </para></description></function>
|
|
<function name="operator>="><type>constexpr auto</type><template>
|
|
<template-type-parameter name="ContainerInterface"/>
|
|
</template><parameter name="lhs"><paramtype>ContainerInterface const &</paramtype></parameter><parameter name="rhs"><paramtype>ContainerInterface const &</paramtype></parameter><description><para>Implementation of <computeroutput>operator>=()</computeroutput> for all containers derived from <computeroutput><classname alt="boost::stl_interfaces::v1::sequence_container_interface">sequence_container_interface</classname></computeroutput>. </para></description></function>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</namespace>
|
|
</namespace>
|
|
</namespace>
|
|
</header>
|
|
<header name="boost/stl_interfaces/view_interface.hpp">
|
|
<namespace name="boost">
|
|
<namespace name="stl_interfaces">
|
|
<namespace name="v1">
|
|
<struct name="view_interface"><template>
|
|
<template-type-parameter name="Derived"/>
|
|
<template-nontype-parameter name="Contiguity"><type>element_layout</type></template-nontype-parameter>
|
|
</template><description><para>A CRTP template that one may derive from to make it easier to define <computeroutput>std::ranges::view</computeroutput>-like types with a container-like interface. This is a pre-C++20 version of C++20's <computeroutput><classname alt="boost::stl_interfaces::v1::view_interface">view_interface</classname></computeroutput> (see [view.interface] in the C++ standard).</para><para>The template parameter <computeroutput>D</computeroutput> for <computeroutput><classname alt="boost::stl_interfaces::v1::view_interface">view_interface</classname></computeroutput> may be an incomplete type. Before any member of the resulting specialization of <computeroutput><classname alt="boost::stl_interfaces::v1::view_interface">view_interface</classname></computeroutput> other than special member functions is referenced, <computeroutput>D</computeroutput> shall be complete, and model both <computeroutput>std::derived_from<<classname alt="boost::stl_interfaces::v1::view_interface">view_interface</classname><D>></computeroutput> and <computeroutput>std::view</computeroutput>. </para></description><method-group name="public member functions">
|
|
<method name="empty" cv="noexcept(noexcept(std::declval< D & >().begin()==std::declval< D & >().end())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="empty" cv="const noexcept(noexcept(std::declval< D const & >().begin()==std::declval< D const & >().end())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="operator bool" cv="noexcept(noexcept(std::declval< D & >().empty())))" specifiers="explicit"><type>constexpr</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="R"><default>decltype(std::declval<D &>().empty())</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="operator bool" cv="const noexcept(noexcept(std::declval< D const & >().empty())))" specifiers="explicit"><type>constexpr</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="R"><default>decltype(std::declval<D const &>().empty())</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="data" cv="noexcept(noexcept(std::declval< D & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-nontype-parameter name="C"><type>element_layout</type><default>Contiguity</default></template-nontype-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t<C == element_layout::contiguous></default></template-type-parameter>
|
|
</template></method>
|
|
<method name="data" cv="const noexcept(noexcept(std::declval< D const & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-nontype-parameter name="C"><type>element_layout</type><default>Contiguity</default></template-nontype-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t<C == element_layout::contiguous></default></template-type-parameter>
|
|
</template></method>
|
|
<method name="size" cv="noexcept(noexcept(std::declval< D & >().end() - std::declval< D & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="size" cv="const noexcept(noexcept(std::declval< D const & >().end() - std::declval< D const & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="front" cv="noexcept(noexcept(*std::declval< D & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="front" cv="const noexcept(noexcept(*std::declval< D const & >().begin())))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template></method>
|
|
<method name="back" cv="noexcept(noexcept(*std::prev(std::declval< D & >().end()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t< <classname alt="boost::stl_interfaces::v1::v1_dtl::decrementable_sentinel">v1_dtl::decrementable_sentinel</classname><D>::value && v1_dtl::common_range<D>::value></default></template-type-parameter>
|
|
</template></method>
|
|
<method name="back" cv="const noexcept(noexcept(*std::prev(std::declval< D const & >().end()))))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
<template-type-parameter name="Enable"><default>std::enable_if_t< <classname alt="boost::stl_interfaces::v1::v1_dtl::decrementable_sentinel">v1_dtl::decrementable_sentinel</classname><D>::value && v1_dtl::common_range<D>::value></default></template-type-parameter>
|
|
</template></method>
|
|
<method name="operator[]" cv="noexcept(noexcept(std::declval< D & >().begin()[n])))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="n"><paramtype>v1_dtl::range_difference_t< D ></paramtype></parameter></method>
|
|
<method name="operator[]" cv="const noexcept(noexcept(std::declval< D const & >().begin()[n])))"><type>constexpr auto</type><template>
|
|
<template-type-parameter name="D"><default>Derived</default></template-type-parameter>
|
|
</template><parameter name="n"><paramtype>v1_dtl::range_difference_t< D ></paramtype></parameter></method>
|
|
</method-group>
|
|
</struct><namespace name="v1_dtl">
|
|
<function name="derived_view"><type>void</type><template>
|
|
<template-type-parameter name="D"/>
|
|
<template-nontype-parameter name="Contiguity"><type>element_layout</type></template-nontype-parameter>
|
|
</template><parameter name=""><paramtype><classname>view_interface</classname>< D, Contiguity > const &</paramtype></parameter></function>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</namespace>
|
|
<function name="operator!="><type>constexpr auto</type><template>
|
|
<template-type-parameter name="ViewInterface"/>
|
|
</template><parameter name="lhs"><paramtype>ViewInterface</paramtype></parameter><parameter name="rhs"><paramtype>ViewInterface</paramtype></parameter><description><para>Implementation of <computeroutput>operator!=()</computeroutput> for all views derived from <computeroutput><classname alt="boost::stl_interfaces::v1::view_interface">view_interface</classname></computeroutput>. </para></description></function>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</namespace>
|
|
<namespace name="v2">
|
|
<typedef name="view_interface"><description><para>A template alias for <computeroutput>std::view_interface</computeroutput>. This only exists to make migration from Boost.STLInterfaces to C++20 easier; switch to the one in <computeroutput>std</computeroutput> as soon as you can. </para></description><type>std::ranges::view_interface< D ></type></typedef>
|
|
|
|
</namespace>
|
|
</namespace>
|
|
</namespace>
|
|
</header>
|
|
</library-reference> |