Classes | |
class | Visitor |
Enumerations | |
enum | Operations { FLAG_MEMCPY, FLAG_ARRAY, FLAG_CONTAINER, FLAG_SKIP, FLAG_END } |
Functions | |
MemoryLayout::const_iterator | skip_block (MemoryLayout::const_iterator begin, MemoryLayout::const_iterator end) |
Namespace used to define basic constants describing the memory layout of a type. The goal is to have a compact representation, in a buffer, of what is raw data, what is junk and what is Container objects.
This is used by most Value operations (init, ...)
Valid marshalling operations
FLAG_MEMCPY <byte count>=""> FLAG_SKIP <byte count>=""> FLAG_ARRAY <element count>=""> [marshalling ops for pointed-to type] FLAG_END FLAG_CONTAINER <pointer-to-Container-object> [marshalling ops for pointed-to type] FLAG_END
Definition at line 48 of file memory_layout.hh.
MemoryLayout::const_iterator Typelib::MemLayout::skip_block | ( | MemoryLayout::const_iterator | begin, |
MemoryLayout::const_iterator | end | ||
) |
Skips the block starting at begin
. end
is the end of the complete layout (to avoid invalid memory accesses if the layout is incorrect)
It returns the position of the block's FLAG_END
Definition at line 170 of file memory_layout.cc.