cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Functions
cmnClassServicesBase.h File Reference

Defines the cmnClassServicesBase. More...

#include <cisstCommon/cmnForwardDeclarations.h>
#include <cisstCommon/cmnLogLoD.h>
#include <string>
#include <typeinfo>
#include <cisstCommon/cmnExport.h>

Go to the source code of this file.

Classes

class  cmnClassServicesBase
 Base class for class services. More...
 

Macros

#define _cmnClassServicesBase_h
 

Functions

template<class _class >
cmnClassServicesBasecmnClassServicesInstantiate (void)
 

Detailed Description

Defines the cmnClassServicesBase.

Macro Definition Documentation

#define _cmnClassServicesBase_h

Function Documentation

template<class _class >
cmnClassServicesBase* cmnClassServicesInstantiate ( void  )

Class services instantiation.

This function is templated by the type of the class to be registered. Its implementation is defined by the macro CMN_IMPLEMENT_SERVICES or CMN_IMPLEMENT_SERVICES_TEMPLATED. In both case, the function creates the class services (cmnClassServices) and registers it within the class register (cmnClassRegister) based on its std::type_info (see typeid and C++RTTI for more details) to ensure its uniqueness.