Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
nonstd::ring_span_lite::ring_span< T, Popper > Class Template Reference

#include <ring_span.hpp>

Public Types

typedef detail::ring_iterator< type, true > const_iterator
 
typedef T const & const_reference
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 
typedef detail::ring_iterator< type, false > iterator
 
typedef T * pointer
 
typedef T & reference
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef std::size_t size_type
 
typedef ring_span< T, Popper > type
 
typedef T value_type
 

Public Member Functions

const_reference back () const nsrs_noexcept
 
reference back () nsrs_noexcept
 
const_iterator begin () const nsrs_noexcept
 
iterator begin () nsrs_noexcept
 
size_type capacity () const nsrs_noexcept
 
const_iterator cbegin () const nsrs_noexcept
 
const_iterator cend () const nsrs_noexcept
 
const_reverse_iterator crbegin () const nsrs_noexcept
 
const_reverse_iterator crend () const nsrs_noexcept
 
bool empty () const nsrs_noexcept
 
const_iterator end () const nsrs_noexcept
 
iterator end () nsrs_noexcept
 
const_reference front () const nsrs_noexcept
 
reference front () nsrs_noexcept
 
bool full () const nsrs_noexcept
 
const_reference operator[] (size_type idx) const nsrs_noexcept
 
reference operator[] (size_type idx) nsrs_noexcept
 
Popper::return_type pop_back ()
 
Popper::return_type pop_front ()
 
void push_back (value_type const &value)
 
void push_front (T const &value)
 
const_reverse_iterator rbegin () const nsrs_noexcept
 
reverse_iterator rbegin () nsrs_noexcept
 
const_reverse_iterator rend () const nsrs_noexcept
 
reverse_iterator rend () nsrs_noexcept
 
template<class ContiguousIterator >
 ring_span (ContiguousIterator begin, ContiguousIterator end, ContiguousIterator first, size_type size, Popper popper=Popper()) nsrs_noexcept
 
template<class ContiguousIterator >
 ring_span (ContiguousIterator begin, ContiguousIterator end, Popper popper=Popper()) nsrs_noexcept
 
size_type size () const nsrs_noexcept
 
void swap (type &rhs)
 

Private Member Functions

const_reference at_ (size_type idx) const nsrs_noexcept
 
reference at_ (size_type idx) nsrs_noexcept
 
const_reference back_ () const nsrs_noexcept
 
reference back_ () nsrs_noexcept
 
void decrement_back_ () nsrs_noexcept
 
void decrement_front_ () nsrs_noexcept
 
void decrement_front_and_back_ () nsrs_noexcept
 
const_reference front_ () const nsrs_noexcept
 
reference front_ () nsrs_noexcept
 
void increment_back_ () nsrs_noexcept
 
void increment_front_ () nsrs_noexcept
 
void increment_front_and_back_ () nsrs_noexcept
 
size_type normalize_ (size_type const idx) const nsrs_noexcept
 
ring_spanoperator= (ring_span const &)
 
 ring_span (ring_span const &)
 

Private Attributes

size_type m_capacity
 
pointer m_data
 
size_type m_front_idx
 
Popper m_popper
 
size_type m_size
 

Friends

class detail::ring_iterator< ring_span, false >
 
class detail::ring_iterator< ring_span, true >
 

Detailed Description

template<class T, class Popper = default_popper<T>>
class nonstd::ring_span_lite::ring_span< T, Popper >

Definition at line 432 of file ring_span.hpp.

Member Typedef Documentation

◆ const_iterator

template<class T , class Popper = default_popper<T>>
typedef detail::ring_iterator<type, true> nonstd::ring_span_lite::ring_span< T, Popper >::const_iterator

Definition at line 445 of file ring_span.hpp.

◆ const_reference

template<class T , class Popper = default_popper<T>>
typedef T const& nonstd::ring_span_lite::ring_span< T, Popper >::const_reference

Definition at line 438 of file ring_span.hpp.

◆ const_reverse_iterator

template<class T , class Popper = default_popper<T>>
typedef std::reverse_iterator<const_iterator> nonstd::ring_span_lite::ring_span< T, Popper >::const_reverse_iterator

Definition at line 449 of file ring_span.hpp.

◆ iterator

template<class T , class Popper = default_popper<T>>
typedef detail::ring_iterator<type, false> nonstd::ring_span_lite::ring_span< T, Popper >::iterator

Definition at line 444 of file ring_span.hpp.

◆ pointer

template<class T , class Popper = default_popper<T>>
typedef T* nonstd::ring_span_lite::ring_span< T, Popper >::pointer

Definition at line 436 of file ring_span.hpp.

◆ reference

template<class T , class Popper = default_popper<T>>
typedef T& nonstd::ring_span_lite::ring_span< T, Popper >::reference

Definition at line 437 of file ring_span.hpp.

◆ reverse_iterator

template<class T , class Popper = default_popper<T>>
typedef std::reverse_iterator<iterator> nonstd::ring_span_lite::ring_span< T, Popper >::reverse_iterator

Definition at line 448 of file ring_span.hpp.

◆ size_type

template<class T , class Popper = default_popper<T>>
typedef std::size_t nonstd::ring_span_lite::ring_span< T, Popper >::size_type

Definition at line 440 of file ring_span.hpp.

◆ type

template<class T , class Popper = default_popper<T>>
typedef ring_span<T, Popper> nonstd::ring_span_lite::ring_span< T, Popper >::type

Definition at line 442 of file ring_span.hpp.

◆ value_type

template<class T , class Popper = default_popper<T>>
typedef T nonstd::ring_span_lite::ring_span< T, Popper >::value_type

Definition at line 435 of file ring_span.hpp.

Constructor & Destructor Documentation

◆ ring_span() [1/3]

template<class T , class Popper = default_popper<T>>
template<class ContiguousIterator >
nonstd::ring_span_lite::ring_span< T, Popper >::ring_span ( ContiguousIterator  begin,
ContiguousIterator  end,
Popper  popper = Popper() 
)
inline

Definition at line 455 of file ring_span.hpp.

◆ ring_span() [2/3]

template<class T , class Popper = default_popper<T>>
template<class ContiguousIterator >
nonstd::ring_span_lite::ring_span< T, Popper >::ring_span ( ContiguousIterator  begin,
ContiguousIterator  end,
ContiguousIterator  first,
size_type  size,
Popper  popper = Popper() 
)
inline

Definition at line 466 of file ring_span.hpp.

◆ ring_span() [3/3]

template<class T , class Popper = default_popper<T>>
nonstd::ring_span_lite::ring_span< T, Popper >::ring_span ( ring_span< T, Popper > const &  )
private

Member Function Documentation

◆ at_() [1/2]

template<class T , class Popper = default_popper<T>>
const_reference nonstd::ring_span_lite::ring_span< T, Popper >::at_ ( size_type  idx) const
inlineprivate

Definition at line 751 of file ring_span.hpp.

◆ at_() [2/2]

template<class T , class Popper = default_popper<T>>
reference nonstd::ring_span_lite::ring_span< T, Popper >::at_ ( size_type  idx)
inlineprivate

Definition at line 746 of file ring_span.hpp.

◆ back() [1/2]

template<class T , class Popper = default_popper<T>>
const_reference nonstd::ring_span_lite::ring_span< T, Popper >::back ( ) const
inline

Definition at line 541 of file ring_span.hpp.

◆ back() [2/2]

template<class T , class Popper = default_popper<T>>
reference nonstd::ring_span_lite::ring_span< T, Popper >::back ( )
inline

Definition at line 536 of file ring_span.hpp.

◆ back_() [1/2]

template<class T , class Popper = default_popper<T>>
const_reference nonstd::ring_span_lite::ring_span< T, Popper >::back_ ( ) const
inlineprivate

Definition at line 771 of file ring_span.hpp.

◆ back_() [2/2]

template<class T , class Popper = default_popper<T>>
reference nonstd::ring_span_lite::ring_span< T, Popper >::back_ ( )
inlineprivate

Definition at line 766 of file ring_span.hpp.

◆ begin() [1/2]

template<class T , class Popper = default_popper<T>>
const_iterator nonstd::ring_span_lite::ring_span< T, Popper >::begin ( ) const
inline

Definition at line 553 of file ring_span.hpp.

◆ begin() [2/2]

template<class T , class Popper = default_popper<T>>
iterator nonstd::ring_span_lite::ring_span< T, Popper >::begin ( )
inline

Definition at line 548 of file ring_span.hpp.

◆ capacity()

template<class T , class Popper = default_popper<T>>
size_type nonstd::ring_span_lite::ring_span< T, Popper >::capacity ( ) const
inline

Definition at line 505 of file ring_span.hpp.

◆ cbegin()

template<class T , class Popper = default_popper<T>>
const_iterator nonstd::ring_span_lite::ring_span< T, Popper >::cbegin ( ) const
inline

Definition at line 558 of file ring_span.hpp.

◆ cend()

template<class T , class Popper = default_popper<T>>
const_iterator nonstd::ring_span_lite::ring_span< T, Popper >::cend ( ) const
inline

Definition at line 573 of file ring_span.hpp.

◆ crbegin()

template<class T , class Popper = default_popper<T>>
const_reverse_iterator nonstd::ring_span_lite::ring_span< T, Popper >::crbegin ( ) const
inline

Definition at line 600 of file ring_span.hpp.

◆ crend()

template<class T , class Popper = default_popper<T>>
const_reverse_iterator nonstd::ring_span_lite::ring_span< T, Popper >::crend ( ) const
inline

Definition at line 605 of file ring_span.hpp.

◆ decrement_back_()

template<class T , class Popper = default_popper<T>>
void nonstd::ring_span_lite::ring_span< T, Popper >::decrement_back_ ( )
inlineprivate

Definition at line 793 of file ring_span.hpp.

◆ decrement_front_()

template<class T , class Popper = default_popper<T>>
void nonstd::ring_span_lite::ring_span< T, Popper >::decrement_front_ ( )
inlineprivate

Definition at line 782 of file ring_span.hpp.

◆ decrement_front_and_back_()

template<class T , class Popper = default_popper<T>>
void nonstd::ring_span_lite::ring_span< T, Popper >::decrement_front_and_back_ ( )
inlineprivate

Definition at line 803 of file ring_span.hpp.

◆ empty()

template<class T , class Popper = default_popper<T>>
bool nonstd::ring_span_lite::ring_span< T, Popper >::empty ( ) const
inline

Definition at line 490 of file ring_span.hpp.

◆ end() [1/2]

template<class T , class Popper = default_popper<T>>
const_iterator nonstd::ring_span_lite::ring_span< T, Popper >::end ( ) const
inline

Definition at line 568 of file ring_span.hpp.

◆ end() [2/2]

template<class T , class Popper = default_popper<T>>
iterator nonstd::ring_span_lite::ring_span< T, Popper >::end ( )
inline

Definition at line 563 of file ring_span.hpp.

◆ front() [1/2]

template<class T , class Popper = default_popper<T>>
const_reference nonstd::ring_span_lite::ring_span< T, Popper >::front ( ) const
inline

Definition at line 531 of file ring_span.hpp.

◆ front() [2/2]

template<class T , class Popper = default_popper<T>>
reference nonstd::ring_span_lite::ring_span< T, Popper >::front ( )
inline

Definition at line 526 of file ring_span.hpp.

◆ front_() [1/2]

template<class T , class Popper = default_popper<T>>
const_reference nonstd::ring_span_lite::ring_span< T, Popper >::front_ ( ) const
inlineprivate

Definition at line 761 of file ring_span.hpp.

◆ front_() [2/2]

template<class T , class Popper = default_popper<T>>
reference nonstd::ring_span_lite::ring_span< T, Popper >::front_ ( )
inlineprivate

Definition at line 756 of file ring_span.hpp.

◆ full()

template<class T , class Popper = default_popper<T>>
bool nonstd::ring_span_lite::ring_span< T, Popper >::full ( ) const
inline

Definition at line 495 of file ring_span.hpp.

◆ increment_back_()

template<class T , class Popper = default_popper<T>>
void nonstd::ring_span_lite::ring_span< T, Popper >::increment_back_ ( )
inlineprivate

Definition at line 788 of file ring_span.hpp.

◆ increment_front_()

template<class T , class Popper = default_popper<T>>
void nonstd::ring_span_lite::ring_span< T, Popper >::increment_front_ ( )
inlineprivate

Definition at line 776 of file ring_span.hpp.

◆ increment_front_and_back_()

template<class T , class Popper = default_popper<T>>
void nonstd::ring_span_lite::ring_span< T, Popper >::increment_front_and_back_ ( )
inlineprivate

Definition at line 798 of file ring_span.hpp.

◆ normalize_()

template<class T , class Popper = default_popper<T>>
size_type nonstd::ring_span_lite::ring_span< T, Popper >::normalize_ ( size_type const  idx) const
inlineprivate

Definition at line 741 of file ring_span.hpp.

◆ operator=()

template<class T , class Popper = default_popper<T>>
ring_span& nonstd::ring_span_lite::ring_span< T, Popper >::operator= ( ring_span< T, Popper > const &  )
private

◆ operator[]() [1/2]

template<class T , class Popper = default_popper<T>>
const_reference nonstd::ring_span_lite::ring_span< T, Popper >::operator[] ( size_type  idx) const
inline

Definition at line 519 of file ring_span.hpp.

◆ operator[]() [2/2]

template<class T , class Popper = default_popper<T>>
reference nonstd::ring_span_lite::ring_span< T, Popper >::operator[] ( size_type  idx)
inline

Definition at line 513 of file ring_span.hpp.

◆ pop_back()

template<class T , class Popper = default_popper<T>>
Popper::return_type nonstd::ring_span_lite::ring_span< T, Popper >::pop_back ( )
inline

Definition at line 624 of file ring_span.hpp.

◆ pop_front()

template<class T , class Popper = default_popper<T>>
Popper::return_type nonstd::ring_span_lite::ring_span< T, Popper >::pop_front ( )
inline

Definition at line 613 of file ring_span.hpp.

◆ push_back()

template<class T , class Popper = default_popper<T>>
void nonstd::ring_span_lite::ring_span< T, Popper >::push_back ( value_type const &  value)
inline

Definition at line 639 of file ring_span.hpp.

◆ push_front()

template<class T , class Popper = default_popper<T>>
void nonstd::ring_span_lite::ring_span< T, Popper >::push_front ( T const &  value)
inline

Definition at line 683 of file ring_span.hpp.

◆ rbegin() [1/2]

template<class T , class Popper = default_popper<T>>
const_reverse_iterator nonstd::ring_span_lite::ring_span< T, Popper >::rbegin ( ) const
inline

Definition at line 590 of file ring_span.hpp.

◆ rbegin() [2/2]

template<class T , class Popper = default_popper<T>>
reverse_iterator nonstd::ring_span_lite::ring_span< T, Popper >::rbegin ( )
inline

Definition at line 580 of file ring_span.hpp.

◆ rend() [1/2]

template<class T , class Popper = default_popper<T>>
const_reverse_iterator nonstd::ring_span_lite::ring_span< T, Popper >::rend ( ) const
inline

Definition at line 595 of file ring_span.hpp.

◆ rend() [2/2]

template<class T , class Popper = default_popper<T>>
reverse_iterator nonstd::ring_span_lite::ring_span< T, Popper >::rend ( )
inline

Definition at line 585 of file ring_span.hpp.

◆ size()

template<class T , class Popper = default_popper<T>>
size_type nonstd::ring_span_lite::ring_span< T, Popper >::size ( ) const
inline

Definition at line 500 of file ring_span.hpp.

◆ swap()

template<class T , class Popper = default_popper<T>>
void nonstd::ring_span_lite::ring_span< T, Popper >::swap ( type rhs)
inline

Definition at line 724 of file ring_span.hpp.

Friends And Related Function Documentation

◆ detail::ring_iterator< ring_span, false >

template<class T , class Popper = default_popper<T>>
friend class detail::ring_iterator< ring_span, false >
friend

Definition at line 739 of file ring_span.hpp.

◆ detail::ring_iterator< ring_span, true >

template<class T , class Popper = default_popper<T>>
friend class detail::ring_iterator< ring_span, true >
friend

Definition at line 738 of file ring_span.hpp.

Member Data Documentation

◆ m_capacity

template<class T , class Popper = default_popper<T>>
size_type nonstd::ring_span_lite::ring_span< T, Popper >::m_capacity
private

Definition at line 811 of file ring_span.hpp.

◆ m_data

template<class T , class Popper = default_popper<T>>
pointer nonstd::ring_span_lite::ring_span< T, Popper >::m_data
private

Definition at line 809 of file ring_span.hpp.

◆ m_front_idx

template<class T , class Popper = default_popper<T>>
size_type nonstd::ring_span_lite::ring_span< T, Popper >::m_front_idx
private

Definition at line 812 of file ring_span.hpp.

◆ m_popper

template<class T , class Popper = default_popper<T>>
Popper nonstd::ring_span_lite::ring_span< T, Popper >::m_popper
private

Definition at line 813 of file ring_span.hpp.

◆ m_size

template<class T , class Popper = default_popper<T>>
size_type nonstd::ring_span_lite::ring_span< T, Popper >::m_size
private

Definition at line 810 of file ring_span.hpp.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Aug 11 2024 02:24:31