#include <value.hh>
Classes | |
class | TypeDispatch |
Public Member Functions | |
void | apply (Value v) |
void | apply (Value v) |
virtual void | dispatch (Value v) |
virtual void | dispatch (Value v) |
ValueVisitor (bool defval=false) | |
ValueVisitor (bool defval=false) | |
virtual | ~ValueVisitor () |
virtual | ~ValueVisitor () |
Protected Member Functions | |
virtual bool | visit_ (Enum::integral_type &v, Enum const &e) |
virtual bool | visit_ (Value const &v, Compound const &c, Field const &f) |
virtual bool | visit_ (Value const &v, Compound const &c) |
virtual bool | visit_ (Value const &v, Container const &a) |
virtual bool | visit_ (Value const &v, Array const &a) |
virtual bool | visit_ (Value const &v, Pointer const &t) |
virtual bool | visit_ (Value const &v, OpaqueType const &t) |
virtual bool | visit_ (double &) |
virtual bool | visit_ (float &) |
virtual bool | visit_ (uint64_t &) |
virtual bool | visit_ (int64_t &) |
virtual bool | visit_ (uint32_t &) |
virtual bool | visit_ (int32_t &) |
virtual bool | visit_ (uint16_t &) |
virtual bool | visit_ (int16_t &) |
virtual bool | visit_ (uint8_t &) |
virtual bool | visit_ (int8_t &) |
virtual bool | visit_ (Enum::integral_type &v, Enum const &e) |
virtual bool | visit_ (Value const &v, Compound const &c, Field const &f) |
virtual bool | visit_ (Value const &v, Compound const &c) |
virtual bool | visit_ (Value const &v, Container const &a) |
virtual bool | visit_ (Value const &v, Array const &a) |
virtual bool | visit_ (Value const &v, Pointer const &t) |
virtual bool | visit_ (Value const &v, OpaqueType const &t) |
virtual bool | visit_ (double &) |
virtual bool | visit_ (float &) |
virtual bool | visit_ (uint64_t &) |
virtual bool | visit_ (int64_t &) |
virtual bool | visit_ (uint32_t &) |
virtual bool | visit_ (int32_t &) |
virtual bool | visit_ (uint16_t &) |
virtual bool | visit_ (int16_t &) |
virtual bool | visit_ (uint8_t &) |
virtual bool | visit_ (int8_t &) |
Private Attributes | |
bool | m_defval |
TypeDispatch * | m_dispatcher |
Friends | |
class | TypeDispatch |
A visitor object that can be used to discover the type of a Value object
Definition at line 45 of file install/include/typelib/value.hh.
Typelib::ValueVisitor::ValueVisitor | ( | bool | defval = false |
) | [inline] |
Definition at line 74 of file install/include/typelib/value.hh.
virtual Typelib::ValueVisitor::~ValueVisitor | ( | ) | [inline, virtual] |
Definition at line 76 of file install/include/typelib/value.hh.
Typelib::ValueVisitor::ValueVisitor | ( | bool | defval = false |
) | [inline] |
Definition at line 74 of file typelib/value.hh.
virtual Typelib::ValueVisitor::~ValueVisitor | ( | ) | [inline, virtual] |
Definition at line 76 of file typelib/value.hh.
void Typelib::ValueVisitor::apply | ( | Value | v | ) |
Reimplemented in Typelib::CastingVisitor< T >.
void Typelib::ValueVisitor::apply | ( | Value | v | ) |
Reimplemented in Typelib::CastingVisitor< T >.
Definition at line 150 of file typelib/value.cc.
virtual void Typelib::ValueVisitor::dispatch | ( | Value | v | ) | [virtual] |
This is for internal use only. To visit a Value object, use apply
Reimplemented in ContainerIterator.
void Typelib::ValueVisitor::dispatch | ( | Value | v | ) | [virtual] |
This is for internal use only. To visit a Value object, use apply
Reimplemented in ContainerIterator.
Definition at line 139 of file typelib/value.cc.
virtual bool Typelib::ValueVisitor::visit_ | ( | Enum::integral_type & | v, | |
Enum const & | e | |||
) | [protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
virtual bool Typelib::ValueVisitor::visit_ | ( | Value const & | v, | |
Compound const & | c, | |||
Field const & | f | |||
) | [protected, virtual] |
Reimplemented in Typelib::FieldGetter, and Typelib::FieldGetter.
virtual bool Typelib::ValueVisitor::visit_ | ( | Value const & | v, | |
Compound const & | c | |||
) | [protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, and typelib_ruby::RubySetter.
virtual bool Typelib::ValueVisitor::visit_ | ( | Value const & | v, | |
Container const & | a | |||
) | [protected, virtual] |
Reimplemented in ContainerIterator, typelib_ruby::RubyGetter, and typelib_ruby::RubySetter.
virtual bool Typelib::ValueVisitor::visit_ | ( | Value const & | v, | |
Array const & | a | |||
) | [protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, and TestArrayVisitor.
virtual bool Typelib::ValueVisitor::visit_ | ( | Value const & | v, | |
Pointer const & | t | |||
) | [protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
virtual bool Typelib::ValueVisitor::visit_ | ( | Value const & | v, | |
OpaqueType const & | t | |||
) | [protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, and typelib_ruby::RubySetter.
virtual bool Typelib::ValueVisitor::visit_ | ( | double & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 63 of file typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | float & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 62 of file typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | uint64_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 61 of file typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | int64_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 60 of file typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | uint32_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 59 of file typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | int32_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, AssertValueVisit, and Typelib::EndianSwapVisitor.
Definition at line 58 of file typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | uint16_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 57 of file typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | int16_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 56 of file typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | uint8_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 55 of file typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | int8_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 54 of file typelib/value.hh.
bool Typelib::ValueVisitor::visit_ | ( | Enum::integral_type & | v, | |
Enum const & | e | |||
) | [protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 135 of file typelib/value.cc.
bool Typelib::ValueVisitor::visit_ | ( | Value const & | v, | |
Compound const & | c, | |||
Field const & | f | |||
) | [protected, virtual] |
Reimplemented in Typelib::FieldGetter, and Typelib::FieldGetter.
Definition at line 133 of file typelib/value.cc.
Reimplemented in typelib_ruby::RubyGetter, and typelib_ruby::RubySetter.
Definition at line 131 of file typelib/value.cc.
Reimplemented in ContainerIterator, typelib_ruby::RubyGetter, and typelib_ruby::RubySetter.
Definition at line 129 of file typelib/value.cc.
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, and TestArrayVisitor.
Definition at line 112 of file typelib/value.cc.
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 110 of file typelib/value.cc.
bool Typelib::ValueVisitor::visit_ | ( | Value const & | v, | |
OpaqueType const & | t | |||
) | [protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, and typelib_ruby::RubySetter.
Definition at line 137 of file typelib/value.cc.
virtual bool Typelib::ValueVisitor::visit_ | ( | double & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 63 of file install/include/typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | float & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 62 of file install/include/typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | uint64_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 61 of file install/include/typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | int64_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 60 of file install/include/typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | uint32_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 59 of file install/include/typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | int32_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, AssertValueVisit, and Typelib::EndianSwapVisitor.
Definition at line 58 of file install/include/typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | uint16_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 57 of file install/include/typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | int16_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 56 of file install/include/typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | uint8_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 55 of file install/include/typelib/value.hh.
virtual bool Typelib::ValueVisitor::visit_ | ( | int8_t & | ) | [inline, protected, virtual] |
Reimplemented in typelib_ruby::RubyGetter, typelib_ruby::RubySetter, Typelib::EndianSwapVisitor, and Typelib::EndianSwapVisitor.
Definition at line 54 of file install/include/typelib/value.hh.
TypeDispatch [friend] |
Definition at line 47 of file install/include/typelib/value.hh.
bool Typelib::ValueVisitor::m_defval [private] |
Definition at line 49 of file install/include/typelib/value.hh.
TypeDispatch * Typelib::ValueVisitor::m_dispatcher [private] |
Definition at line 51 of file install/include/typelib/value.hh.