sparrow 0.3.0
Loading...
Searching...
No Matches
sparrow::buffer_base< T > Class Template Reference

Base class for buffer. More...

#include <buffer.hpp>

Inheritance diagram for sparrow::buffer_base< T >:
[legend]

Classes

struct  buffer_data
 

Protected Types

using allocator_type = any_allocator<T>
 
using alloc_traits = std::allocator_traits<allocator_type>
 
using pointer = typename alloc_traits::pointer
 
using size_type = typename alloc_traits::size_type
 

Protected Member Functions

 buffer_base ()=default
 
template<allocator A>
constexpr buffer_base (const A &a) noexcept
 
template<allocator A = allocator_type>
constexpr buffer_base (size_type n, const A &a=A())
 
template<allocator A = allocator_type>
constexpr buffer_base (pointer p, size_type n, const A &a=A())
 
 ~buffer_base ()
 
 buffer_base (buffer_base &&) noexcept=default
 
template<allocator A>
constexpr buffer_base (buffer_base &&rhs, const A &a)
 
constexpr allocator_typeget_allocator () noexcept
 
constexpr const allocator_typeget_allocator () const noexcept
 
constexpr buffer_dataget_data () noexcept
 
constexpr const buffer_dataget_data () const noexcept
 
constexpr pointer allocate (size_type n)
 
constexpr void deallocate (pointer p, size_type n)
 
constexpr void create_storage (size_type n)
 
constexpr void assign_storage (pointer p, size_type n, size_type cap)
 

Detailed Description

template<class T>
class sparrow::buffer_base< T >

Base class for buffer.

This class provides memory management for the buffer class. The constructor and destructor perform allocation and deallocation of the internal storage, but do not initialize any element.

Definition at line 44 of file buffer.hpp.

Member Typedef Documentation

◆ alloc_traits

template<class T>
using sparrow::buffer_base< T >::alloc_traits = std::allocator_traits<allocator_type>
protected

Definition at line 49 of file buffer.hpp.

◆ allocator_type

template<class T>
using sparrow::buffer_base< T >::allocator_type = any_allocator<T>
protected

Definition at line 48 of file buffer.hpp.

◆ pointer

template<class T>
using sparrow::buffer_base< T >::pointer = typename alloc_traits::pointer
protected

Definition at line 50 of file buffer.hpp.

◆ size_type

template<class T>
using sparrow::buffer_base< T >::size_type = typename alloc_traits::size_type
protected

Definition at line 51 of file buffer.hpp.

Constructor & Destructor Documentation

◆ buffer_base() [1/6]

template<class T>
sparrow::buffer_base< T >::buffer_base ( )
protecteddefault
Here is the call graph for this function:
Here is the caller graph for this function:

◆ buffer_base() [2/6]

template<class T>
template<allocator A>
sparrow::buffer_base< T >::buffer_base ( const A & a)
constexprprotectednoexcept

Definition at line 326 of file buffer.hpp.

◆ buffer_base() [3/6]

template<class T>
template<allocator A>
sparrow::buffer_base< T >::buffer_base ( size_type n,
const A & a = A() )
constexprprotected

Definition at line 333 of file buffer.hpp.

Here is the call graph for this function:

◆ buffer_base() [4/6]

template<class T>
template<allocator A>
sparrow::buffer_base< T >::buffer_base ( pointer p,
size_type n,
const A & a = A() )
constexprprotected

Definition at line 341 of file buffer.hpp.

Here is the call graph for this function:

◆ ~buffer_base()

template<class T>
sparrow::buffer_base< T >::~buffer_base ( )
protected

Definition at line 348 of file buffer.hpp.

Here is the call graph for this function:

◆ buffer_base() [5/6]

template<class T>
sparrow::buffer_base< T >::buffer_base ( buffer_base< T > && )
protecteddefaultnoexcept
Here is the call graph for this function:

◆ buffer_base() [6/6]

template<class T>
template<allocator A>
sparrow::buffer_base< T >::buffer_base ( buffer_base< T > && rhs,
const A & a )
constexprprotected

Definition at line 355 of file buffer.hpp.

Here is the call graph for this function:

Member Function Documentation

◆ allocate()

template<class T>
auto sparrow::buffer_base< T >::allocate ( size_type n)
constexprprotected

Definition at line 386 of file buffer.hpp.

Here is the caller graph for this function:

◆ assign_storage()

template<class T>
void sparrow::buffer_base< T >::assign_storage ( pointer p,
size_type n,
size_type cap )
constexprprotected

Definition at line 406 of file buffer.hpp.

Here is the caller graph for this function:

◆ create_storage()

template<class T>
void sparrow::buffer_base< T >::create_storage ( size_type n)
constexprprotected

Definition at line 398 of file buffer.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deallocate()

template<class T>
void sparrow::buffer_base< T >::deallocate ( pointer p,
size_type n )
constexprprotected

Definition at line 392 of file buffer.hpp.

Here is the caller graph for this function:

◆ get_allocator() [1/2]

template<class T>
auto sparrow::buffer_base< T >::get_allocator ( ) const
nodiscardconstexprprotectednoexcept

Definition at line 368 of file buffer.hpp.

◆ get_allocator() [2/2]

template<class T>
auto sparrow::buffer_base< T >::get_allocator ( )
nodiscardconstexprprotectednoexcept

Definition at line 362 of file buffer.hpp.

Here is the caller graph for this function:

◆ get_data() [1/2]

template<class T>
auto sparrow::buffer_base< T >::get_data ( ) const
nodiscardconstexprprotectednoexcept

Definition at line 380 of file buffer.hpp.

◆ get_data() [2/2]

template<class T>
auto sparrow::buffer_base< T >::get_data ( )
nodiscardconstexprprotectednoexcept

Definition at line 374 of file buffer.hpp.

Here is the caller graph for this function:

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