Free Electron
Public Member Functions | Private Attributes | List of all members
fe::Library::BaseFactory Class Referenceabstract

Type-nonspecific base class for factories. More...

Inheritance diagram for fe::Library::BaseFactory:
Inheritance graph
[legend]

Public Member Functions

 BaseFactory (const String &name)
 
const Stringname (void) const
 Return the factory's type's name. More...
 
const String verboseName (void) const
 Return the factory's templated name. More...
 
virtual sp< Componentcreate (Library *pLibrary, I32 a_factoryIndex) const =0
 Instantiate a component. More...
 
- Public Member Functions inherited from fe::Counted
virtual void acquire (void)
 Increment the reference count. More...
 
virtual void acquire (int &rCount)
 Increment the reference count (and get the count) More...
 
virtual void release (void)
 Decrement the reference count. More...
 
virtual void abandon (void)
 Decrement the reference count. More...
 
int count (void) const
 Return the count of references. More...
 
void setName (const String &)
 
void trackReference (void *pReference, String what)
 
void untrackReference (void *pReference)
 
void registerRegion (void *pT, U32 bytes)
 

Private Attributes

String m_name
 
String m_className
 

Additional Inherited Members

- Static Public Member Functions inherited from fe::Counted
static String reportTracker (void)
 
static U32 trackerCount (void)
 
- Protected Member Functions inherited from fe::Counted
int releaseInternal (void)
 Decrement the reference count. More...
 
void suppressReport (void)
 

Detailed Description

Type-nonspecific base class for factories.

Member Function Documentation

◆ create()

virtual sp<Component> fe::Library::BaseFactory::create ( Library pLibrary,
I32  a_factoryIndex 
) const
pure virtual

Instantiate a component.

The implementation type is the business of the derived class.

Implemented in fe::Library::Factory< T >.

◆ name()

const String& fe::Library::BaseFactory::name ( void  ) const
inline

Return the factory's type's name.

◆ verboseName()

const String fe::Library::BaseFactory::verboseName ( void  ) const
inline

Return the factory's templated name.


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