#include <EventAttributeBase.h>
Inheritance diagram for ot::EventAttributeBase:


Moreover, static create functions, a static function for registering types, and some static members realize the concept of creating new EventAttribute objects without knowing anything else but the attribute's generic type name. This functionality is crucial for the de-serialization of events encoded in strings.
Protected Member Functions | |
| virtual OPENTRACKER_API | ~EventAttributeBase () |
| virtual EventAttributeBase & | operator= (const EventAttributeBase &rv)=0 |
| virtual void | serialize (std::ostream &out)=0 |
| virtual void | deserialize (std::istream &in)=0 |
| virtual const std::type_info & | getType () const =0 |
| virtual const std::string & | getGenericTypeName () const =0 |
Static Protected Member Functions | |
| static OPENTRACKER_API EventAttributeBase * | create (const std::string &genericTypeName) |
| static OPENTRACKER_API EventAttributeBase * | create (const std::type_info &typeInfo) |
| static OPENTRACKER_API void | registerType (const std::string &genericTypeName, const std::type_info &typeInfo, CreateFunction create) |
Static Protected Attributes | |
| static OPENTRACKER_API CreatorMap | creators |
| static OPENTRACKER_API Translator | translator |
Friends | |
| class | Event |
| std::istream & | operator>> (std::istream &in, ot::EventAttributeBase &att) |
| std::ostream & | operator<< (std::ostream &out, ot::EventAttributeBase &att) |
|
|
Virtual destructor. Must provide empty implementation for creation of RTTI type information. |
|
|
Creates an EventAttribute according to
|
|
|
Creates an EventAttribute according to
|
|
|
Abstract function to de-serialize the attribute.
|
|
|
Abstract function to get generic type name of the attribute's value.
|
|
|
Abstract function to get RTTI type information of the attribute's value.
|
|
|
Abstract assignment operator.
|
|
||||||||||||||||
|
Registers a new generic type name. Type names are arbitrary but must be unique. In this function, the generic type name is matched to the according creator function and the type name is registered in the translator.
|
|
|
Abstract function to serialize the attribute.
|
|
|
Reimplemented in ot::EventAttribute< T >. |
|
||||||||||||
|
Output streaming operator. Streams the attribute into the output stream.
|
|
||||||||||||
|
Input streaming operator. Streams the data provided by the input stream into the attribute.
|
|
|
Static map matching generic type names to according creator functions.
|
|
|
Static Translator to translate compiler dependent RTTI names to generic type names. Such translations are used to create attributes by RTTI type information. |
1.4.6