KTL
ktl::trivial_buffer< T, Size > Class Template Reference

#include <trivial_buffer.h>

Public Types

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

 trivial_buffer () noexcept
 Default construct a buffer of trivial types. More...
 
 trivial_buffer (const T &value)
 
 trivial_buffer (std::initializer_list< T > initializer)
 
 trivial_buffer (const T *first, const T *last)
 
 trivial_buffer (const trivial_buffer &other) noexcept
 
 trivial_buffer (trivial_buffer &&other) noexcept
 
trivial_bufferoperator= (const trivial_buffer &other) noexcept
 
trivial_bufferoperator= (trivial_buffer &&other) noexcept
 
T & operator[] (size_t index) noexcept
 Returns a reference to the element at index, rolling. More...
 
const T & operator[] (size_t index) const noexcept
 Returns a const reference to the element at index, rolling. More...
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
std::reverse_iterator< T * > rbegin () noexcept
 
std::reverse_iterator< const T * > rbegin () const noexcept
 
std::reverse_iterator< T * > rend () noexcept
 
std::reverse_iterator< const T * > rend () const noexcept
 
constexpr size_t size () const noexcept
 Returns the size of the buffer. More...
 
iterator data () noexcept
 Returns an iterator to the start of the buffer. More...
 
const_iterator data () const noexcept
 Returns a const iterator to the start of the buffer. More...
 
T & at (size_t index) const noexcept
 Returns a reference to the element at index, rolling. More...
 
void assign (const T *first, const T *last)
 Assigns the given values from first to last. More...
 

Member Typedef Documentation

◆ const_iterator

template<typename T , size_t Size>
typedef const T* ktl::trivial_buffer< T, Size >::const_iterator

◆ const_reverse_iterator

template<typename T , size_t Size>
typedef std::reverse_iterator<const T*> ktl::trivial_buffer< T, Size >::const_reverse_iterator

◆ iterator

template<typename T , size_t Size>
typedef T* ktl::trivial_buffer< T, Size >::iterator

◆ reverse_iterator

template<typename T , size_t Size>
typedef std::reverse_iterator<T*> ktl::trivial_buffer< T, Size >::reverse_iterator

Constructor & Destructor Documentation

◆ trivial_buffer() [1/6]

template<typename T , size_t Size>
ktl::trivial_buffer< T, Size >::trivial_buffer ( )
inlinenoexcept

Default construct a buffer of trivial types.

◆ trivial_buffer() [2/6]

template<typename T , size_t Size>
ktl::trivial_buffer< T, Size >::trivial_buffer ( const T &  value)
inlineexplicit

◆ trivial_buffer() [3/6]

template<typename T , size_t Size>
ktl::trivial_buffer< T, Size >::trivial_buffer ( std::initializer_list< T >  initializer)
inline

◆ trivial_buffer() [4/6]

template<typename T , size_t Size>
ktl::trivial_buffer< T, Size >::trivial_buffer ( const T *  first,
const T *  last 
)
inlineexplicit

◆ trivial_buffer() [5/6]

template<typename T , size_t Size>
ktl::trivial_buffer< T, Size >::trivial_buffer ( const trivial_buffer< T, Size > &  other)
inlinenoexcept

◆ trivial_buffer() [6/6]

template<typename T , size_t Size>
ktl::trivial_buffer< T, Size >::trivial_buffer ( trivial_buffer< T, Size > &&  other)
inlinenoexcept

Member Function Documentation

◆ assign()

template<typename T , size_t Size>
void ktl::trivial_buffer< T, Size >::assign ( const T *  first,
const T *  last 
)
inline

Assigns the given values from first to last.

Parameters
firstA pointer to the first element.
lastA pointer one element past the last element.

◆ at()

template<typename T , size_t Size>
T& ktl::trivial_buffer< T, Size >::at ( size_t  index) const
inlinenoexcept

Returns a reference to the element at index, rolling.

Note
An index higher than size() will roll back to the start of the buffer.
Parameters
indexThe index of the element in the buffer.
Returns
A reference to the element at index.

◆ begin() [1/2]

template<typename T , size_t Size>
const_iterator ktl::trivial_buffer< T, Size >::begin ( ) const
inlinenoexcept

◆ begin() [2/2]

template<typename T , size_t Size>
iterator ktl::trivial_buffer< T, Size >::begin ( )
inlinenoexcept

◆ data() [1/2]

template<typename T , size_t Size>
const_iterator ktl::trivial_buffer< T, Size >::data ( ) const
inlinenoexcept

Returns a const iterator to the start of the buffer.

Returns
A const iterator to the start of the buffer.

◆ data() [2/2]

template<typename T , size_t Size>
iterator ktl::trivial_buffer< T, Size >::data ( )
inlinenoexcept

Returns an iterator to the start of the buffer.

Returns
An iterator to the start of the buffer.

◆ end() [1/2]

template<typename T , size_t Size>
const_iterator ktl::trivial_buffer< T, Size >::end ( ) const
inlinenoexcept

◆ end() [2/2]

template<typename T , size_t Size>
iterator ktl::trivial_buffer< T, Size >::end ( )
inlinenoexcept

◆ operator=() [1/2]

template<typename T , size_t Size>
trivial_buffer& ktl::trivial_buffer< T, Size >::operator= ( const trivial_buffer< T, Size > &  other)
inlinenoexcept

◆ operator=() [2/2]

template<typename T , size_t Size>
trivial_buffer& ktl::trivial_buffer< T, Size >::operator= ( trivial_buffer< T, Size > &&  other)
inlinenoexcept

◆ operator[]() [1/2]

template<typename T , size_t Size>
const T& ktl::trivial_buffer< T, Size >::operator[] ( size_t  index) const
inlinenoexcept

Returns a const reference to the element at index, rolling.

Note
An index higher than size() will roll back to the start of the buffer.
Parameters
indexThe index of the element in the buffer.
Returns
A reference to the element at index.

◆ operator[]() [2/2]

template<typename T , size_t Size>
T& ktl::trivial_buffer< T, Size >::operator[] ( size_t  index)
inlinenoexcept

Returns a reference to the element at index, rolling.

Note
An index higher than size() will roll back to the start of the buffer.
Parameters
indexThe index of the element in the buffer.
Returns
A reference to the element at index.

◆ rbegin() [1/2]

template<typename T , size_t Size>
std::reverse_iterator<const T*> ktl::trivial_buffer< T, Size >::rbegin ( ) const
inlinenoexcept

◆ rbegin() [2/2]

template<typename T , size_t Size>
std::reverse_iterator<T*> ktl::trivial_buffer< T, Size >::rbegin ( )
inlinenoexcept

◆ rend() [1/2]

template<typename T , size_t Size>
std::reverse_iterator<const T*> ktl::trivial_buffer< T, Size >::rend ( ) const
inlinenoexcept

◆ rend() [2/2]

template<typename T , size_t Size>
std::reverse_iterator<T*> ktl::trivial_buffer< T, Size >::rend ( )
inlinenoexcept

◆ size()

template<typename T , size_t Size>
constexpr size_t ktl::trivial_buffer< T, Size >::size ( ) const
inlineconstexprnoexcept

Returns the size of the buffer.

Returns
The size of the buffer in number of elements.

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