Iros
 
Loading...
Searching...
No Matches
di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc > Class Template Reference

#include <di/vocab/bytes/byte_buffer.h>

Public Types

using Store = ByteStore<Alloc>
 
using ByteBuffer = ByteBufferImpl<Alloc>
 

Public Member Functions

 ExclusiveByteBufferImpl ()=default
 
template<concepts::Impl< meta::List< AsWritableByteSpan > > T>
requires (!concepts::DerivedFrom<T, ExclusiveByteBufferImpl> && !concepts::FallibleAllocator<Alloc>)
constexpr ExclusiveByteBufferImpl (T &&value)
 
constexpr ExclusiveByteBufferImpl (Span< byte > data, Store &&store)
 
constexpr ExclusiveByteBufferImpl (ExclusiveByteBufferImpl const &)=delete
 
constexpr ExclusiveByteBufferImpl (ExclusiveByteBufferImpl &&other)
 
constexpr auto operator= (ExclusiveByteBufferImpl const &) -> ExclusiveByteBufferImpl &=delete
 
constexpr auto operator= (ExclusiveByteBufferImpl &&other) -> ExclusiveByteBufferImpl &
 
constexpr auto data () const -> byte *
 
constexpr auto size () const -> usize
 
constexpr auto span () const -> Span< byte >
 
constexpr auto empty () const -> bool
 
constexpr auto store () &&-> Store &&
 
constexpr auto shrink_to_first (usize count)
 
constexpr auto shrink_to_last (usize count)
 
constexpr auto shrink_to_slice (usize offset)
 
constexpr auto shrink_to_slice (usize offset, usize count)
 
constexpr auto share () &&-> ByteBuffer
 
constexpr operator ByteBuffer () &&
 

Static Public Member Functions

template<concepts::Impl< meta::List< AsWritableByteSpan > > T>
requires (!concepts::DerivedFrom<T, ExclusiveByteBufferImpl> && concepts::FallibleAllocator<Alloc>)
static constexpr auto create (T &&value) -> meta::LikeExpected< meta::AllocatorResult< Alloc >, ExclusiveByteBufferImpl >
 

Member Typedef Documentation

◆ ByteBuffer

template<concepts::Allocator Alloc>
using di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::ByteBuffer = ByteBufferImpl<Alloc>

◆ Store

template<concepts::Allocator Alloc>
using di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::Store = ByteStore<Alloc>

Constructor & Destructor Documentation

◆ ExclusiveByteBufferImpl() [1/5]

template<concepts::Allocator Alloc>
di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::ExclusiveByteBufferImpl ( )
default

◆ ExclusiveByteBufferImpl() [2/5]

template<concepts::Allocator Alloc>
template<concepts::Impl< meta::List< AsWritableByteSpan > > T>
requires (!concepts::DerivedFrom<T, ExclusiveByteBufferImpl> && !concepts::FallibleAllocator<Alloc>)
di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::ExclusiveByteBufferImpl ( T && value)
inlineexplicitconstexpr

◆ ExclusiveByteBufferImpl() [3/5]

template<concepts::Allocator Alloc>
di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::ExclusiveByteBufferImpl ( Span< byte > data,
Store && store )
inlineexplicitconstexpr

◆ ExclusiveByteBufferImpl() [4/5]

template<concepts::Allocator Alloc>
di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::ExclusiveByteBufferImpl ( ExclusiveByteBufferImpl< Alloc > const & )
constexprdelete

◆ ExclusiveByteBufferImpl() [5/5]

template<concepts::Allocator Alloc>
di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::ExclusiveByteBufferImpl ( ExclusiveByteBufferImpl< Alloc > && other)
inlineconstexpr

Member Function Documentation

◆ create()

template<concepts::Allocator Alloc>
template<concepts::Impl< meta::List< AsWritableByteSpan > > T>
requires (!concepts::DerivedFrom<T, ExclusiveByteBufferImpl> && concepts::FallibleAllocator<Alloc>)
static constexpr auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::create ( T && value) -> meta::LikeExpected<meta::AllocatorResult<Alloc>, ExclusiveByteBufferImpl>
inlinestaticconstexpr

◆ data()

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::data ( ) const -> byte*
inlineconstexpr

◆ empty()

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::empty ( ) const -> bool
inlineconstexpr

◆ operator ByteBuffer()

template<concepts::Allocator Alloc>
di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::operator ByteBuffer ( ) &&
inlineconstexpr

◆ operator=() [1/2]

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::operator= ( ExclusiveByteBufferImpl< Alloc > && other) -> ExclusiveByteBufferImpl&
inlineconstexpr

◆ operator=() [2/2]

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::operator= ( ExclusiveByteBufferImpl< Alloc > const & ) -> ExclusiveByteBufferImpl &=delete
constexprdelete

◆ share()

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::share ( ) && -> ByteBuffer
inlineconstexpr

◆ shrink_to_first()

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::shrink_to_first ( usize count)
inlineconstexpr

◆ shrink_to_last()

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::shrink_to_last ( usize count)
inlineconstexpr

◆ shrink_to_slice() [1/2]

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::shrink_to_slice ( usize offset)
inlineconstexpr

◆ shrink_to_slice() [2/2]

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::shrink_to_slice ( usize offset,
usize count )
inlineconstexpr

◆ size()

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::size ( ) const -> usize
inlineconstexpr

◆ span()

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::span ( ) const -> Span<byte>
inlineconstexpr

◆ store()

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ExclusiveByteBufferImpl< Alloc >::store ( ) && -> Store&&
inlineconstexpr

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