#include <typelib/memory_layout.hh>
Public Member Functions | |
Visitor (MemoryLayout &ops, bool accept_pointers=false) | |
void | apply (Type const &type) |
Protected Member Functions | |
void | push_current_memcpy () |
void | skip (size_t count) |
bool | generic_visit (Type const &value) |
bool | visit_ (Numeric const &type) |
bool | visit_ (Enum const &type) |
bool | visit_ (Array const &type) |
bool | visit_ (Container const &type) |
bool | visit_ (Compound const &type) |
bool | visit_ (Pointer const &type) |
bool | visit_ (OpaqueType const &type) |
MemLayout::Visitor::Visitor | ( | MemoryLayout & | ops, | |
bool | accept_pointers = false | |||
) |
void MemLayout::Visitor::push_current_memcpy | ( | ) | [protected] |
void MemLayout::Visitor::skip | ( | size_t | count | ) | [protected] |
bool MemLayout::Visitor::generic_visit | ( | Type const & | value | ) | [protected] |
bool MemLayout::Visitor::visit_ | ( | Numeric const & | type | ) | [protected, virtual] |
bool MemLayout::Visitor::visit_ | ( | Enum const & | type | ) | [protected, virtual] |
bool MemLayout::Visitor::visit_ | ( | Array const & | type | ) | [protected, virtual] |
bool MemLayout::Visitor::visit_ | ( | Container const & | type | ) | [protected, virtual] |
Reimplemented from Typelib::TypeVisitor.
References apply(), Typelib::MemLayout::FLAG_CONTAINER, Typelib::MemLayout::FLAG_END, Typelib::Indirect::getIndirection(), and push_current_memcpy().
bool MemLayout::Visitor::visit_ | ( | Compound const & | type | ) | [protected, virtual] |
Reimplemented from Typelib::TypeVisitor.
References Typelib::TypeVisitor::dispatch(), Typelib::Compound::getFields(), Typelib::Type::getSize(), and skip().
bool MemLayout::Visitor::visit_ | ( | Pointer const & | type | ) | [protected, virtual] |
bool MemLayout::Visitor::visit_ | ( | OpaqueType const & | type | ) | [protected, virtual] |
Reimplemented from Typelib::TypeVisitor.
void MemLayout::Visitor::apply | ( | Type const & | type | ) |
Reimplemented from Typelib::TypeVisitor.
References Typelib::TypeVisitor::apply(), and push_current_memcpy().
Referenced by Typelib::dump(), Typelib::layout_of(), and visit_().