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

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

Public Types

using Store = ByteStore<Alloc>
 
using ByteBuffer = ByteBufferImpl
 

Public Member Functions

 ByteBufferImpl ()=default
 
template<concepts::Impl< meta::List< AsByteSpan > > T>
requires (!concepts::DerivedFrom<T, ByteBufferImpl> && !concepts::FallibleAllocator<Alloc>)
constexpr ByteBufferImpl (T &&value)
 
constexpr ByteBufferImpl (Span< byte const > data, Store &&store)
 
constexpr ByteBufferImpl (Span< byte const > data, Store const &store)
 
constexpr auto data () const -> byte const *
 
constexpr auto size () const -> usize
 
constexpr auto span () const -> Span< byte const >
 
constexpr auto empty () const -> bool
 
constexpr auto store () const &-> Store const &
 
constexpr auto first (usize count) const -> Optional< ByteBufferImpl >
 
constexpr auto last (usize count) const -> Optional< ByteBufferImpl >
 
constexpr auto slice (usize offset) const -> Optional< ByteBufferImpl >
 
constexpr auto slice (usize offset, usize count) const -> Optional< ByteBufferImpl >
 

Static Public Member Functions

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

Member Typedef Documentation

◆ ByteBuffer

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

◆ Store

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

Constructor & Destructor Documentation

◆ ByteBufferImpl() [1/4]

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

◆ ByteBufferImpl() [2/4]

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

◆ ByteBufferImpl() [3/4]

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

◆ ByteBufferImpl() [4/4]

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

Member Function Documentation

◆ create()

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

◆ data()

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

◆ empty()

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

◆ first()

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ByteBufferImpl< Alloc >::first ( usize count) const -> Optional<ByteBufferImpl>
inlineconstexpr

◆ last()

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ByteBufferImpl< Alloc >::last ( usize count) const -> Optional<ByteBufferImpl>
inlineconstexpr

◆ size()

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

◆ slice() [1/2]

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ByteBufferImpl< Alloc >::slice ( usize offset) const -> Optional<ByteBufferImpl>
inlineconstexpr

◆ slice() [2/2]

template<concepts::Allocator Alloc>
auto di::vocab::byte_buffer::ByteBufferImpl< Alloc >::slice ( usize offset,
usize count ) const -> Optional<ByteBufferImpl>
inlineconstexpr

◆ span()

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

◆ store()

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

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