aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
boost::span< T, E > Class Template Reference

#include </home/runner/work/aligator/aligator/gar/include/aligator/third-party/boost/core/span.hpp>

Public Types

typedef T element_type
 
typedef std::remove_cv< T >::type value_type
 
typedef std::size_t size_type
 
typedef std::ptrdiff_t difference_type
 
typedef T * pointer
 
typedef const T * const_pointer
 
typedef T & reference
 
typedef const T & const_reference
 
typedef T * iterator
 
typedef const T * const_iterator
 
typedef std::reverse_iterator< T * > reverse_iterator
 
typedef std::reverse_iterator< const T * > const_reverse_iterator
 

Public Member Functions

template<std::size_t N = E, typename std::enable_if< N==dynamic_extent||N==0, int >::type = 0>
constexpr span () noexcept
 
template<class I , typename std::enable_if< E==dynamic_extent &&detail::span_convertible< I, T >::value, int >::type = 0>
constexpr span (I *f, size_type c)
 
template<class I , typename std::enable_if< E !=dynamic_extent &&detail::span_convertible< I, T >::value, int >::type = 0>
constexpr span (I *f, size_type c)
 
template<class I , class L , typename std::enable_if< E==dynamic_extent &&detail::span_convertible< I, T >::value, int >::type = 0>
constexpr span (I *f, L *l)
 
template<class I , class L , typename std::enable_if< E !=dynamic_extent &&detail::span_convertible< I, T >::value, int >::type = 0>
constexpr span (I *f, L *l)
 
template<std::size_t N, typename std::enable_if< detail::span_capacity< E, N >::value, int >::type = 0>
constexpr span (typename std::enable_if< true, T >::type(&a)[N]) noexcept
 
template<class U , std::size_t N, typename std::enable_if< detail::span_compatible< T, E, U, N >::value, int >::type = 0>
constexpr span (std::array< U, N > &a) noexcept
 
template<class U , std::size_t N, typename std::enable_if< detail::span_compatible< T, E, const U, N >::value, int >::type = 0>
constexpr span (const std::array< U, N > &a) noexcept
 
template<class R , typename std::enable_if< E==dynamic_extent &&detail::span_is_range< R, T >::value, int >::type = 0>
constexpr span (R &&r) noexcept(noexcept(boost::data(r)) &&noexcept(r.size()))
 
template<class R , typename std::enable_if< E !=dynamic_extent &&detail::span_is_range< R, T >::value, int >::type = 0>
constexpr span (R &&r) noexcept(noexcept(boost::data(r)) &&noexcept(r.size()))
 
template<class U , std::size_t N, typename std::enable_if< detail::span_implicit< E, N >::value &&detail::span_copyable< T, E, U, N >::value, int >::type = 0>
constexpr span (const span< U, N > &s) noexcept
 
template<class U , std::size_t N, typename std::enable_if<!detail::span_implicit< E, N >::value &&detail::span_copyable< T, E, U, N >::value, int >::type = 0>
constexpr span (const span< U, N > &s) noexcept
 
template<std::size_t C>
constexpr span< T, C > first () const
 
template<std::size_t C>
constexpr span< T, C > last () const
 
template<std::size_t O, std::size_t C = dynamic_extent>
constexpr std::enable_if< C==dynamic_extent, span< T, detail::span_sub< E, O >::value > >::type subspan () const
 
template<std::size_t O, std::size_t C = dynamic_extent>
constexpr std::enable_if< C!=dynamic_extent, span< T, C > >::type subspan () const
 
constexpr span< T, dynamic_extentfirst (size_type c) const
 
constexpr span< T, dynamic_extentlast (size_type c) const
 
constexpr span< T, dynamic_extentsubspan (size_type o, size_type c=dynamic_extent) const
 
constexpr size_type size () const noexcept
 
constexpr size_type size_bytes () const noexcept
 
constexpr bool empty () const noexcept
 
constexpr reference operator[] (size_type i) const
 
constexpr reference front () const
 
constexpr reference back () const
 
constexpr pointer data () const noexcept
 
constexpr iterator begin () const noexcept
 
constexpr iterator end () const noexcept
 
constexpr reverse_iterator rbegin () const noexcept
 
constexpr reverse_iterator rend () const noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr const_iterator cend () const noexcept
 
constexpr const_reverse_iterator crbegin () const noexcept
 
constexpr const_reverse_iterator crend () const noexcept
 

Static Public Attributes

static constexpr std::size_t extent = E
 

Detailed Description

template<class T, std::size_t E>
class boost::span< T, E >

Definition at line 159 of file span.hpp.

Member Typedef Documentation

◆ element_type

template<class T , std::size_t E>
typedef T boost::span< T, E >::element_type

Definition at line 161 of file span.hpp.

◆ value_type

template<class T , std::size_t E>
typedef std::remove_cv<T>::type boost::span< T, E >::value_type

Definition at line 162 of file span.hpp.

◆ size_type

template<class T , std::size_t E>
typedef std::size_t boost::span< T, E >::size_type

Definition at line 163 of file span.hpp.

◆ difference_type

template<class T , std::size_t E>
typedef std::ptrdiff_t boost::span< T, E >::difference_type

Definition at line 164 of file span.hpp.

◆ pointer

template<class T , std::size_t E>
typedef T* boost::span< T, E >::pointer

Definition at line 165 of file span.hpp.

◆ const_pointer

template<class T , std::size_t E>
typedef const T* boost::span< T, E >::const_pointer

Definition at line 166 of file span.hpp.

◆ reference

template<class T , std::size_t E>
typedef T& boost::span< T, E >::reference

Definition at line 167 of file span.hpp.

◆ const_reference

template<class T , std::size_t E>
typedef const T& boost::span< T, E >::const_reference

Definition at line 168 of file span.hpp.

◆ iterator

template<class T , std::size_t E>
typedef T* boost::span< T, E >::iterator

Definition at line 169 of file span.hpp.

◆ const_iterator

template<class T , std::size_t E>
typedef const T* boost::span< T, E >::const_iterator

Definition at line 170 of file span.hpp.

◆ reverse_iterator

template<class T , std::size_t E>
typedef std::reverse_iterator<T*> boost::span< T, E >::reverse_iterator

Definition at line 171 of file span.hpp.

◆ const_reverse_iterator

template<class T , std::size_t E>
typedef std::reverse_iterator<const T*> boost::span< T, E >::const_reverse_iterator

Definition at line 172 of file span.hpp.

Constructor & Destructor Documentation

◆ span() [1/12]

template<class T , std::size_t E>
template<std::size_t N = E, typename std::enable_if< N==dynamic_extent||N==0, int >::type = 0>
constexpr boost::span< T, E >::span ( )
inlineconstexprnoexcept

Definition at line 178 of file span.hpp.

◆ span() [2/12]

template<class T , std::size_t E>
template<class I , typename std::enable_if< E==dynamic_extent &&detail::span_convertible< I, T >::value, int >::type = 0>
constexpr boost::span< T, E >::span ( I * f,
size_type c )
inlineconstexpr

Definition at line 184 of file span.hpp.

◆ span() [3/12]

template<class T , std::size_t E>
template<class I , typename std::enable_if< E !=dynamic_extent &&detail::span_convertible< I, T >::value, int >::type = 0>
constexpr boost::span< T, E >::span ( I * f,
size_type c )
inlineexplicitconstexpr

Definition at line 190 of file span.hpp.

◆ span() [4/12]

template<class T , std::size_t E>
template<class I , class L , typename std::enable_if< E==dynamic_extent &&detail::span_convertible< I, T >::value, int >::type = 0>
constexpr boost::span< T, E >::span ( I * f,
L * l )
inlineconstexpr

Definition at line 196 of file span.hpp.

◆ span() [5/12]

template<class T , std::size_t E>
template<class I , class L , typename std::enable_if< E !=dynamic_extent &&detail::span_convertible< I, T >::value, int >::type = 0>
constexpr boost::span< T, E >::span ( I * f,
L * l )
inlineexplicitconstexpr

Definition at line 202 of file span.hpp.

◆ span() [6/12]

template<class T , std::size_t E>
template<std::size_t N, typename std::enable_if< detail::span_capacity< E, N >::value, int >::type = 0>
constexpr boost::span< T, E >::span ( typename std::enable_if< true, T >::type(&) a[N])
inlineconstexprnoexcept

Definition at line 208 of file span.hpp.

◆ span() [7/12]

template<class T , std::size_t E>
template<class U , std::size_t N, typename std::enable_if< detail::span_compatible< T, E, U, N >::value, int >::type = 0>
constexpr boost::span< T, E >::span ( std::array< U, N > & a)
inlineconstexprnoexcept

Definition at line 214 of file span.hpp.

◆ span() [8/12]

template<class T , std::size_t E>
template<class U , std::size_t N, typename std::enable_if< detail::span_compatible< T, E, const U, N >::value, int >::type = 0>
constexpr boost::span< T, E >::span ( const std::array< U, N > & a)
inlineconstexprnoexcept

Definition at line 220 of file span.hpp.

◆ span() [9/12]

template<class T , std::size_t E>
template<class R , typename std::enable_if< E==dynamic_extent &&detail::span_is_range< R, T >::value, int >::type = 0>
constexpr boost::span< T, E >::span ( R && r)
inlineconstexprnoexcept

Definition at line 226 of file span.hpp.

◆ span() [10/12]

template<class T , std::size_t E>
template<class R , typename std::enable_if< E !=dynamic_extent &&detail::span_is_range< R, T >::value, int >::type = 0>
constexpr boost::span< T, E >::span ( R && r)
inlineexplicitconstexprnoexcept

Definition at line 233 of file span.hpp.

◆ span() [11/12]

template<class T , std::size_t E>
template<class U , std::size_t N, typename std::enable_if< detail::span_implicit< E, N >::value &&detail::span_copyable< T, E, U, N >::value, int >::type = 0>
constexpr boost::span< T, E >::span ( const span< U, N > & s)
inlineconstexprnoexcept

Definition at line 240 of file span.hpp.

◆ span() [12/12]

template<class T , std::size_t E>
template<class U , std::size_t N, typename std::enable_if<!detail::span_implicit< E, N >::value &&detail::span_copyable< T, E, U, N >::value, int >::type = 0>
constexpr boost::span< T, E >::span ( const span< U, N > & s)
inlineexplicitconstexprnoexcept

Definition at line 246 of file span.hpp.

Member Function Documentation

◆ first() [1/2]

template<class T , std::size_t E>
template<std::size_t C>
constexpr span< T, C > boost::span< T, E >::first ( ) const
inlineconstexpr

Definition at line 250 of file span.hpp.

◆ last() [1/2]

template<class T , std::size_t E>
template<std::size_t C>
constexpr span< T, C > boost::span< T, E >::last ( ) const
inlineconstexpr

Definition at line 256 of file span.hpp.

◆ subspan() [1/3]

template<class T , std::size_t E>
template<std::size_t O, std::size_t C = dynamic_extent>
constexpr std::enable_if< C==dynamic_extent, span< T, detail::span_sub< E, O >::value > >::type boost::span< T, E >::subspan ( ) const
inlineconstexpr

Definition at line 263 of file span.hpp.

◆ subspan() [2/3]

template<class T , std::size_t E>
template<std::size_t O, std::size_t C = dynamic_extent>
constexpr std::enable_if< C!=dynamic_extent, span< T, C > >::type boost::span< T, E >::subspan ( ) const
inlineconstexpr

Definition at line 270 of file span.hpp.

◆ first() [2/2]

template<class T , std::size_t E>
constexpr span< T, dynamic_extent > boost::span< T, E >::first ( size_type c) const
inlineconstexpr

Definition at line 276 of file span.hpp.

◆ last() [2/2]

template<class T , std::size_t E>
constexpr span< T, dynamic_extent > boost::span< T, E >::last ( size_type c) const
inlineconstexpr

Definition at line 280 of file span.hpp.

◆ subspan() [3/3]

template<class T , std::size_t E>
constexpr span< T, dynamic_extent > boost::span< T, E >::subspan ( size_type o,
size_type c = dynamic_extent ) const
inlineconstexpr

Definition at line 284 of file span.hpp.

◆ size()

template<class T , std::size_t E>
constexpr size_type boost::span< T, E >::size ( ) const
inlineconstexprnoexcept

Definition at line 290 of file span.hpp.

◆ size_bytes()

template<class T , std::size_t E>
constexpr size_type boost::span< T, E >::size_bytes ( ) const
inlineconstexprnoexcept

Definition at line 294 of file span.hpp.

◆ empty()

template<class T , std::size_t E>
constexpr bool boost::span< T, E >::empty ( ) const
inlineconstexprnoexcept

Definition at line 298 of file span.hpp.

◆ operator[]()

template<class T , std::size_t E>
constexpr reference boost::span< T, E >::operator[] ( size_type i) const
inlineconstexpr

Definition at line 302 of file span.hpp.

◆ front()

template<class T , std::size_t E>
constexpr reference boost::span< T, E >::front ( ) const
inlineconstexpr

Definition at line 306 of file span.hpp.

◆ back()

template<class T , std::size_t E>
constexpr reference boost::span< T, E >::back ( ) const
inlineconstexpr

Definition at line 310 of file span.hpp.

◆ data()

template<class T , std::size_t E>
constexpr pointer boost::span< T, E >::data ( ) const
inlineconstexprnoexcept

Definition at line 314 of file span.hpp.

◆ begin()

template<class T , std::size_t E>
constexpr iterator boost::span< T, E >::begin ( ) const
inlineconstexprnoexcept

Definition at line 318 of file span.hpp.

◆ end()

template<class T , std::size_t E>
constexpr iterator boost::span< T, E >::end ( ) const
inlineconstexprnoexcept

Definition at line 322 of file span.hpp.

◆ rbegin()

template<class T , std::size_t E>
constexpr reverse_iterator boost::span< T, E >::rbegin ( ) const
inlineconstexprnoexcept

Definition at line 326 of file span.hpp.

◆ rend()

template<class T , std::size_t E>
constexpr reverse_iterator boost::span< T, E >::rend ( ) const
inlineconstexprnoexcept

Definition at line 330 of file span.hpp.

◆ cbegin()

template<class T , std::size_t E>
constexpr const_iterator boost::span< T, E >::cbegin ( ) const
inlineconstexprnoexcept

Definition at line 334 of file span.hpp.

◆ cend()

template<class T , std::size_t E>
constexpr const_iterator boost::span< T, E >::cend ( ) const
inlineconstexprnoexcept

Definition at line 338 of file span.hpp.

◆ crbegin()

template<class T , std::size_t E>
constexpr const_reverse_iterator boost::span< T, E >::crbegin ( ) const
inlineconstexprnoexcept

Definition at line 342 of file span.hpp.

◆ crend()

template<class T , std::size_t E>
constexpr const_reverse_iterator boost::span< T, E >::crend ( ) const
inlineconstexprnoexcept

Definition at line 346 of file span.hpp.

Member Data Documentation

◆ extent

template<class T , std::size_t E>
constexpr std::size_t boost::span< T, E >::extent = E
staticconstexpr

Definition at line 174 of file span.hpp.


The documentation for this class was generated from the following file: