#include <typelib/value.hh>
Public Member Functions | |
ValueVisitor (bool defval=false) | |
virtual | ~ValueVisitor () |
virtual void | dispatch (Value v) |
void | apply (Value v) |
Protected Member Functions | |
virtual bool | visit_ (int8_t &) |
virtual bool | visit_ (uint8_t &) |
virtual bool | visit_ (int16_t &) |
virtual bool | visit_ (uint16_t &) |
virtual bool | visit_ (int32_t &) |
virtual bool | visit_ (uint32_t &) |
virtual bool | visit_ (int64_t &) |
virtual bool | visit_ (uint64_t &) |
virtual bool | visit_ (float &) |
virtual bool | visit_ (double &) |
virtual bool | visit_ (Value const &v, OpaqueType const &t) |
virtual bool | visit_ (Value const &v, Pointer const &t) |
virtual bool | visit_ (Value const &v, Array const &a) |
virtual bool | visit_ (Value const &v, Container const &a) |
virtual bool | visit_ (Value const &v, Compound const &c) |
virtual bool | visit_ (Value const &v, Compound const &c, Field const &f) |
virtual bool | visit_ (Enum::integral_type &v, Enum const &e) |
Friends | |
class | TypeDispatch |
Classes | |
class | TypeDispatch |
Typelib::ValueVisitor::ValueVisitor | ( | bool | defval = false |
) | [inline] |
virtual Typelib::ValueVisitor::~ValueVisitor | ( | ) | [inline, virtual] |
virtual bool Typelib::ValueVisitor::visit_ | ( | int8_t & | ) | [inline, protected, virtual] |
Reimplemented in Typelib::EndianSwapVisitor.
Referenced by Typelib::ValueVisitor::TypeDispatch::visit_().
virtual bool Typelib::ValueVisitor::visit_ | ( | uint8_t & | ) | [inline, protected, virtual] |
Reimplemented in Typelib::EndianSwapVisitor.
virtual bool Typelib::ValueVisitor::visit_ | ( | int16_t & | ) | [inline, protected, virtual] |
Reimplemented in Typelib::EndianSwapVisitor.
virtual bool Typelib::ValueVisitor::visit_ | ( | uint16_t & | ) | [inline, protected, virtual] |
Reimplemented in Typelib::EndianSwapVisitor.
virtual bool Typelib::ValueVisitor::visit_ | ( | int32_t & | ) | [inline, protected, virtual] |
Reimplemented in Typelib::EndianSwapVisitor.
virtual bool Typelib::ValueVisitor::visit_ | ( | uint32_t & | ) | [inline, protected, virtual] |
Reimplemented in Typelib::EndianSwapVisitor.
virtual bool Typelib::ValueVisitor::visit_ | ( | int64_t & | ) | [inline, protected, virtual] |
Reimplemented in Typelib::EndianSwapVisitor.
virtual bool Typelib::ValueVisitor::visit_ | ( | uint64_t & | ) | [inline, protected, virtual] |
Reimplemented in Typelib::EndianSwapVisitor.
virtual bool Typelib::ValueVisitor::visit_ | ( | float & | ) | [inline, protected, virtual] |
Reimplemented in Typelib::EndianSwapVisitor.
virtual bool Typelib::ValueVisitor::visit_ | ( | double & | ) | [inline, protected, virtual] |
Reimplemented in Typelib::EndianSwapVisitor.
bool Typelib::ValueVisitor::visit_ | ( | Value const & | v, | |
OpaqueType const & | t | |||
) | [protected, virtual] |
Reimplemented in Typelib::EndianSwapVisitor.
References Typelib::Value::getData(), and Typelib::Container::visit().
bool Typelib::ValueVisitor::visit_ | ( | Value const & | v, | |
Compound const & | c, | |||
Field const & | f | |||
) | [protected, virtual] |
bool Typelib::ValueVisitor::visit_ | ( | Enum::integral_type & | v, | |
Enum const & | e | |||
) | [protected, virtual] |
Reimplemented in Typelib::EndianSwapVisitor.
void Typelib::ValueVisitor::dispatch | ( | Value | v | ) | [virtual] |
This is for internal use only. To visit a Value object, use apply
References Typelib::Value::getData(), Typelib::Value::getType(), and Typelib::ValueVisitor::TypeDispatch::m_stack.
void Typelib::ValueVisitor::apply | ( | Value | v | ) |
Reimplemented in Typelib::CastingVisitor< T >.
References Typelib::ValueVisitor::TypeDispatch::apply().
Referenced by Typelib::FieldGetter::apply(), Typelib::CastingVisitor< T >::apply(), and Typelib::endian_swap().
friend class TypeDispatch [friend] |