CoreLinux++  0.4.32
Public Member Functions | List of all members
corelinux::AbstractFactory< UniqueId > Class Template Referenceabstract

AbstractFactory provides an interface for creating families of related or dependent objects without specifying their concrete classes. More...

#include <AbstractFactory.hpp>

Public Member Functions

 AbstractFactory (void)
 Default constructor.
 
 AbstractFactory (const AbstractFactory &)
 Copy Constructor. More...
 
virtual ~AbstractFactory (void)
 Virtual Destructor.
 
AbstractFactoryoperator= (const AbstractFactory &)
 Assignment operator. More...
 
bool operator== (const AbstractFactory &aRef) const
 Equality operator. More...
 
virtual Count getCreateCount (void) const =0
 Returns the number of total creates for this factory. More...
 
virtual Count getDestroyCount (void) const =0
 Returns the number of total destroys for this factory. More...
 
virtual AllocatorPtr getAllocator (UniqueId) const =0 throw (AllocatorNotFoundException)
 Retrieve the allocator identified by argument from the implementation. More...
 
virtual void addAllocator (UniqueId, AllocatorPtr)=0 throw (AllocatorAlreadyExistsException)
 Add a allocator to the factory implementation. More...
 
virtual AllocatorPtr removeAllocator (UniqueId)=0 throw (AllocatorNotFoundException)
 Retrieve and remove the allocator identified by argument from the implementation. More...
 
virtual Iterator< Allocator * > * createIterator (void) const =0
 Interface for creating an Iterator to iterate through the Allocators of an implementation. More...
 
virtual void destroyIterator (Iterator< Allocator *> *) const =0
 Interface for returning a created Iterator. More...
 
virtual AssociativeIterator< UniqueId, Allocator * > * createAssociativeIterator (void) const =0
 Interface for creating an AssociativeIterator to iterate through the Identifiers and Allocators of an implementation. More...
 
virtual void destroyAssociativeIterator (AssociativeIterator< UniqueId, Allocator *> *) const =0
 Interface for returning a created AssociativeIterator. More...
 
- Public Member Functions inherited from corelinux::CoreLinuxObject
 CoreLinuxObject (void)
 Default Constructor.
 
 CoreLinuxObject (CoreLinuxObjectCref)
 Copy Constructor. More...
 
virtual ~CoreLinuxObject (void)
 Virtual Destructor.
 
CoreLinuxObjectRef operator= (CoreLinuxObjectCref)
 Assignment operator overload. More...
 
bool operator== (CoreLinuxObjectCref) const
 Equality operator overload. More...
 
bool operator!= (CoreLinuxObjectCref) const
 Non-equality operator overload. More...
 

Detailed Description

template<class UniqueId>
class corelinux::AbstractFactory< UniqueId >

AbstractFactory provides an interface for creating families of related or dependent objects without specifying their concrete classes.

See also
Allocator, AbstractAllocator, Identifier, Iterator, AssociativeIterator

Constructor & Destructor Documentation

§ AbstractFactory()

template<class UniqueId>
corelinux::AbstractFactory< UniqueId >::AbstractFactory ( const AbstractFactory< UniqueId > &  )
inline

Copy Constructor.

Parameters
AbstractFactoryconst reference

Member Function Documentation

§ addAllocator()

template<class UniqueId>
virtual void corelinux::AbstractFactory< UniqueId >::addAllocator ( UniqueId  ,
AllocatorPtr   
)
throw (AllocatorAlreadyExistsException
)
pure virtual

Add a allocator to the factory implementation.

Parameters
Allocatorpointer
Exceptions
AllocatorAlreadyExistsException

Referenced by corelinux::AbstractFactory< UniqueId >::operator==().

§ createAssociativeIterator()

template<class UniqueId>
virtual AssociativeIterator<UniqueId,Allocator *>* corelinux::AbstractFactory< UniqueId >::createAssociativeIterator ( void  ) const
pure virtual

Interface for creating an AssociativeIterator to iterate through the Identifiers and Allocators of an implementation.

Returns
AssociativeIterator pointer of type <Identifier,Allocator pointer>

Referenced by corelinux::AbstractFactory< UniqueId >::operator==().

§ createIterator()

template<class UniqueId>
virtual Iterator<Allocator *>* corelinux::AbstractFactory< UniqueId >::createIterator ( void  ) const
pure virtual

Interface for creating an Iterator to iterate through the Allocators of an implementation.

Returns
Iterator pointer of type Allocator pointer

Referenced by corelinux::AbstractFactory< UniqueId >::operator==().

§ destroyAssociativeIterator()

template<class UniqueId>
virtual void corelinux::AbstractFactory< UniqueId >::destroyAssociativeIterator ( AssociativeIterator< UniqueId, Allocator *> *  ) const
pure virtual

Interface for returning a created AssociativeIterator.

Returns
Iterator pointer of type <Identifier,Allocator pointer>

Referenced by corelinux::AbstractFactory< UniqueId >::operator==().

§ destroyIterator()

template<class UniqueId>
virtual void corelinux::AbstractFactory< UniqueId >::destroyIterator ( Iterator< Allocator *> *  ) const
pure virtual

Interface for returning a created Iterator.

Returns
Iterator pointer of type Allocator pointer

Referenced by corelinux::AbstractFactory< UniqueId >::operator==().

§ getAllocator()

template<class UniqueId>
virtual AllocatorPtr corelinux::AbstractFactory< UniqueId >::getAllocator ( UniqueId  ) const
throw (AllocatorNotFoundException
)
pure virtual

Retrieve the allocator identified by argument from the implementation.

Parameters
Identifierconst reference
Returns
Allocator pointer
Exceptions
AllocatorNotFoundException

Referenced by corelinux::AbstractFactory< UniqueId >::operator==().

§ getCreateCount()

template<class UniqueId>
virtual Count corelinux::AbstractFactory< UniqueId >::getCreateCount ( void  ) const
pure virtual

Returns the number of total creates for this factory.

Returns
corelinux::Count

Referenced by corelinux::AbstractFactory< UniqueId >::operator==().

§ getDestroyCount()

template<class UniqueId>
virtual Count corelinux::AbstractFactory< UniqueId >::getDestroyCount ( void  ) const
pure virtual

Returns the number of total destroys for this factory.

Returns
corelinux::Count

Referenced by corelinux::AbstractFactory< UniqueId >::operator==().

§ operator=()

template<class UniqueId>
AbstractFactory& corelinux::AbstractFactory< UniqueId >::operator= ( const AbstractFactory< UniqueId > &  )
inline

Assignment operator.

Parameters
AbstractFactoryconst reference
Returns
AbstractFactory reference

§ operator==()

template<class UniqueId>
bool corelinux::AbstractFactory< UniqueId >::operator== ( const AbstractFactory< UniqueId > &  aRef) const
inline

§ removeAllocator()

template<class UniqueId>
virtual AllocatorPtr corelinux::AbstractFactory< UniqueId >::removeAllocator ( UniqueId  )
throw (AllocatorNotFoundException
)
pure virtual

Retrieve and remove the allocator identified by argument from the implementation.

Parameters
Identifierconst reference
Returns
Allocator pointer
Exceptions
AllocatorNotFoundException

Referenced by corelinux::AbstractFactory< UniqueId >::operator==().


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

This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium