class
MemConcreteBufferContents
This class represents a concrete memory area. It's basically a wrapper around a buffer that enables to read/write constants of different sizes
For performance reasons, no checks are performed on the read/write operations to make sure that they don't overflow the bounds of the buffer. It is up to the caller to verify that the arguments passed are consistent.
❱ Base classes
- class Serializable
- Virtual interface that serializable classes must implement.
❱ Constructors, destructors, conversion operators
- MemConcreteBuffer()
- Constructor.
-
MemConcreteBuffer(offset_
t nb_bytes) - Constructor.
- ~MemConcreteBuffer() virtual
- Destructor.
❱ Public functions
-
void extend_after(offset_
t nb_bytes) -
void extend_before(offset_
t nb_bytes) -
void write(offset_
t off, int64_t val, int nb_bytes) - Write the value 'val' on 'nb_bytes' starting from offset 'off'.
-
void write(offset_
t off, const Number& val, int nb_bytes) - Write the value 'val' on 'nb_bytes' starting from offset 'off'.
-
auto is_identical_until(offset_
t start, offset_ t end, uint8_t val) -> offset_ t - Returns the closest offset from 'start' and before 'end' (included) which holds a value different from 'val'.
-
auto raw_mem_at(offset_
t off) -> uint8_t* - Returns a raw pointer to the concrete memory buffer at offset 'off'.
- auto class_uid() const -> uid_t virtual
- Return the class uid (see ClassId enum)
-
void dump(serial::
Serializer&) const virtual - Dump the object contents in a serializer stream.
-
void load(serial::
Deserializer&) virtual - Restore an object from a deserializer stream.
❱ Function documentation
void maat:: MemConcreteBuffer:: extend_after(offset_ t nb_bytes)
Extend the buffer to make it represent 'nb_bytes' more bytes of memory. The new bytes are inserted at the end of the buffer
void maat:: MemConcreteBuffer:: extend_before(offset_ t nb_bytes)
Extend the buffer to make it represent 'nb_bytes' more bytes of memory. The new bytes are inserted at the beginning of the buffer