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.