47 static void call(
void*,
void* ptr) noexcept;
73 std::unique_ptr<byte_slice_data, release_byte_slice>
storage_;
160 std::unique_ptr<byte_slice_data, release_byte_slice>
take_buffer() noexcept;
byte_slice get_slice(std::size_t begin, std::size_t end) const
Definition: byte_slice.cpp:250
static void call(void *, void *ptr) noexcept
For use with zmq_message_init_data, use second arg for buffer pointer.
Definition: byte_slice.cpp:58
const uint32_t T[512]
Definition: groestl_tables.h:36
void operator()(byte_slice_data *ptr) const noexcept
Definition: byte_slice.h:48
const CharType(& source)[N]
Definition: pointer.h:1147
::std::string string
Definition: gtest-port.h:1097
std::unique_ptr< std::uint8_t, release_byte_buffer > byte_buffer
Alias for a buffer that has space for a byte_slice ref count.
Definition: byte_slice.h:164
A partial drop-in replacement for std::ostream.
Definition: byte_stream.h:57
std::size_t size_type
Definition: byte_slice.h:86
Definition: byte_slice.h:44
std::size_t size() const noexcept
Definition: byte_slice.h:134
byte_slice() noexcept
Construct empty slice.
Definition: byte_slice.h:96
unsigned char uint8_t
Definition: stdint.h:124
byte_buffer byte_buffer_increase(byte_buffer buf, std::size_t current, std::size_t more)
Definition: byte_slice.cpp:285
void operator()(std::uint8_t *buf) const noexcept
Definition: byte_slice.cpp:126
Definition: byte_slice.cpp:46
const_pointer const_iterator
Definition: byte_slice.h:93
Definition: byte_slice.h:79
byte_buffer byte_buffer_resize(byte_buffer buf, std::size_t length) noexcept
Definition: byte_slice.cpp:267
constexpr std::size_t size() const noexcept
Definition: span.h:109
default
Definition: pymoduletest.py:17
const T buffer
Definition: byte_slice.cpp:83
bool empty() const noexcept
Definition: byte_slice.h:132
const_iterator cbegin() const noexcept
Definition: byte_slice.h:127
Definition: byte_slice.h:68
iterator begin() const noexcept
Definition: byte_slice.h:126
byte_slice take_slice(std::size_t max_bytes) noexcept
Definition: byte_slice.cpp:233
pointer iterator
Definition: byte_slice.h:92
const char * buf
Definition: slow_memmem.cpp:73
std::unique_ptr< byte_slice_data, release_byte_slice > take_buffer() noexcept
Definition: byte_slice.cpp:260
constexpr iterator end() const noexcept
Definition: span.h:104
byte_slice(std::nullptr_t) noexcept
Construct empty slice.
Definition: byte_slice.h:101
TODO: (mj-xmr) This will be reduced in an another PR.
Definition: byte_slice.h:39
const std::uint8_t * pointer
Definition: byte_slice.h:88
iterator end() const noexcept
Definition: byte_slice.h:129
std::ptrdiff_t difference_type
Definition: byte_slice.h:87
std::uint8_t const_reference
Definition: byte_slice.h:91
constexpr iterator begin() const noexcept
Definition: span.h:101
const_iterator cend() const noexcept
Definition: byte_slice.h:130
std::uint8_t value_type
Definition: byte_slice.h:85
span< const std::uint8_t > portion_
Definition: byte_slice.h:74
const std::uint8_t * data() const noexcept
Definition: byte_slice.h:133
byte_slice clone() const noexcept
Definition: byte_slice.h:124
~byte_slice() noexcept=default
std::size_t remove_prefix(std::size_t max_bytes) noexcept
Definition: byte_slice.cpp:225
#define const
Definition: ipfrdr.c:80
const std::uint8_t * const_pointer
Definition: byte_slice.h:89
std::unique_ptr< byte_slice_data, release_byte_slice > storage_
Definition: byte_slice.h:73
Frees ref count + buffer allocated internally by byte_buffer.
Definition: byte_slice.h:55
Definition: blockchain_usage.cpp:71
constexpr pointer data() const noexcept
Definition: span.h:108