LIBWIRE
Next-generation C++17 networking library.
|
Non-owning STL-like wrapper for raw memory. More...
#include <memory_view.hpp>
Public Types | |
using | const_iterator = const_pointer |
using | const_pointer = const pointer |
using | const_reference = const value_type & |
using | const_reverse_iterator = std::reverse_iterator< iterator > |
using | difference_type = std::ptrdiff_t |
using | iterator = pointer |
using | pointer = value_type * |
using | reference = value_type & |
using | reverse_iterator = std::reverse_iterator< iterator > |
using | size_type = size_t |
using | value_type = uint8_t |
Public Member Functions | |
memory_view () noexcept | |
memory_view (void *memory, size_t size_bytes) noexcept | |
const_reference | back () const noexcept |
reference | back () noexcept |
const_iterator | begin () const noexcept |
iterator | begin () noexcept |
size_type | capacity () const noexcept |
Return size of underlying memory size FROM begin() TO BIGGEST POSSIBLE end(). More... | |
const_iterator | cbegin () const noexcept |
const_iterator | cend () const noexcept |
void | clear () noexcept |
Same as resize (0). More... | |
const_pointer | data () const noexcept |
pointer | data () noexcept |
const_iterator | end () const noexcept |
iterator | end () noexcept |
const_reference | front () const noexcept |
reference | front () noexcept |
size_type | max_size () const noexcept |
Same as capacity. More... | |
const_reference | operator[] (size_t) const noexcept |
reference | operator[] (size_t) noexcept |
void | resize (size_t new_size) noexcept(!false) |
"Hide" X bytes from end of memory so that new_size is left visible. More... | |
void | shrink_back (size_type bytes_count) noexcept |
"Hide" X bytes from end of memory. More... | |
void | shrink_front (size_type bytes_count) noexcept |
"Hide" X bytes from begin of memory. More... | |
size_type | size () const noexcept |
Currently visible memory size. More... | |
void | swap (memory_view &other) noexcept |
Non-owning STL-like wrapper for raw memory.
Mostly mimics std::vector except some things:
Implemented to allow to use raw memory in read/write operations without additional overload sets.
Definition at line 58 of file memory_view.hpp.
Definition at line 68 of file memory_view.hpp.
using libwire::memory_view::const_pointer = const pointer |
Definition at line 66 of file memory_view.hpp.
using libwire::memory_view::const_reference = const value_type& |
Definition at line 64 of file memory_view.hpp.
using libwire::memory_view::const_reverse_iterator = std::reverse_iterator<iterator> |
Definition at line 70 of file memory_view.hpp.
using libwire::memory_view::difference_type = std::ptrdiff_t |
Definition at line 62 of file memory_view.hpp.
Definition at line 67 of file memory_view.hpp.
using libwire::memory_view::pointer = value_type* |
Definition at line 65 of file memory_view.hpp.
Definition at line 63 of file memory_view.hpp.
using libwire::memory_view::reverse_iterator = std::reverse_iterator<iterator> |
Definition at line 69 of file memory_view.hpp.
using libwire::memory_view::size_type = size_t |
Definition at line 61 of file memory_view.hpp.
using libwire::memory_view::value_type = uint8_t |
Definition at line 60 of file memory_view.hpp.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Same as resize (0).
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
"Hide" X bytes from end of memory so that new_size is left visible.
Can also show previous hidden bytes up to capacity().
If new_size > capacity() and exceptions enabled then std::out_of_range is thrown, if exceptions disabled then this function have no effect in this case.
|
noexcept |
"Hide" X bytes from end of memory.
Behavior is undefined if bytes_count > size().
|
noexcept |
"Hide" X bytes from begin of memory.
Behavior is undefined if bytes_count > size().
|
noexcept |
Currently visible memory size.
|
noexcept |