Typelib::ValueVisitor Class Reference

#include <typelib/value.hh>

Inheritance diagram for Typelib::ValueVisitor:

Inheritance graph
[legend]
Collaboration diagram for Typelib::ValueVisitor:

Collaboration graph
[legend]

List of all members.

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


Detailed Description

A visitor object that can be used to discover the type of a Value object

Constructor & Destructor Documentation

Typelib::ValueVisitor::ValueVisitor ( bool  defval = false  )  [inline]

virtual Typelib::ValueVisitor::~ValueVisitor (  )  [inline, virtual]


Member Function Documentation

virtual bool Typelib::ValueVisitor::visit_ ( int8_t &   )  [inline, protected, virtual]

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]

bool Typelib::ValueVisitor::visit_ ( Value const &  v,
Pointer const &  t 
) [protected, virtual]

Reimplemented in Typelib::EndianSwapVisitor.

bool Typelib::ValueVisitor::visit_ ( Value const &  v,
Array const &  a 
) [protected, virtual]

bool Typelib::ValueVisitor::visit_ ( Value const &  v,
Container const &  a 
) [protected, virtual]

bool Typelib::ValueVisitor::visit_ ( Value const &  v,
Compound const &  c 
) [protected, virtual]

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  ) 


Friends And Related Function Documentation

friend class TypeDispatch [friend]


The documentation for this class was generated from the following files:

Generated on Thu Jan 22 16:38:08 2009 for typeLib by doxygen 1.5.6
SourceForge.net Project Page