object_base.h File Reference

#include "istring.h"

Include dependency graph for object_base.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  object_base
 A virtual base class that specifies some requirements for HOOPLE objects. More...
class  istring_object
 An istring that is also derived from object_base. More...
class  clonable
 Provides a means to make a copy of an existing object. More...
class  synchronizer_base
 This is a pure virtual base for the simplest notion of synchronization. More...
class  pairing< type1, type2 >
 groups two items together. More...

Defines

#define IMPLEMENT_CLASS_NAME(objname)
 Defines the name of a class by providing a variety of standard methods.


Define Documentation

#define IMPLEMENT_CLASS_NAME ( objname   ) 

Value:

static const char *static_class_name() { return (objname); } \
  virtual const char *class_name() const { return static_class_name(); }
Defines the name of a class by providing a variety of standard methods.

This macro helps a class implementor with a gnarly issue; often the class_name would be nice as a static function. However, that conflicts with the notion of derived classes in C++. So this macro takes the class's name as a parameter and produces both a static version of the function and the required virtual version. There is no redundant storage since the latter is implemented in terms of the former.

Definition at line 71 of file object_base.h.

Referenced by timer_driver_private_handler().


Generated on Sat Aug 30 04:32:32 2008 for HOOPLE Libraries by  doxygen 1.5.1