MIRA
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
Object Class Referenceabstract

The object class acts as a generic base class for classes which should be used with the classFactory. More...

#include <factory/Object.h>

Inheritance diagram for Object:
Inheritance graph
[legend]

Public Member Functions

 Object ()=default
 
 Object (const Object &)=default
 
 Object (Object &&)=default
 
Objectoperator= (const Object &)=default
 
Objectoperator= (Object &&)=default
 
virtual ~Object ()=default
 
Class const & getClass () const
 call the virtual internalGetClass(). More...
 

Static Public Member Functions

static PseudoClass const & CLASS ()
 

Protected Member Functions

virtual Class const & internalGetClass () const =0
 

Friends

class ClassFactory
 
template<typename Class , typename Base >
struct FactoryRegisterClassHelper
 

Detailed Description

The object class acts as a generic base class for classes which should be used with the classFactory.

To add a minimum of extra functions to the derived classes, the object class only implements functions to retrieve the associated class object. All functionalities are encapsulated in the class object.

Constructor & Destructor Documentation

◆ Object() [1/3]

Object ( )
default

◆ Object() [2/3]

Object ( const Object )
default

◆ Object() [3/3]

Object ( Object &&  )
default

◆ ~Object()

virtual ~Object ( )
virtualdefault

Member Function Documentation

◆ operator=() [1/2]

Object& operator= ( const Object )
default

◆ operator=() [2/2]

Object& operator= ( Object &&  )
default

◆ getClass()

Class const& getClass ( ) const
inline

call the virtual internalGetClass().

◆ CLASS()

static PseudoClass const& CLASS ( )
inlinestatic

◆ internalGetClass()

virtual Class const& internalGetClass ( ) const
protectedpure virtual

Friends And Related Function Documentation

◆ ClassFactory

friend class ClassFactory
friend

◆ FactoryRegisterClassHelper

friend struct FactoryRegisterClassHelper
friend

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