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

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

Copy Constructor.

Parameters
AbstractFactoryconst reference

Member Function Documentation

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
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>
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
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>
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
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
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
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
template<class UniqueId>
AbstractFactory& corelinux::AbstractFactory< UniqueId >::operator= ( const AbstractFactory< UniqueId > &  )
inline

Assignment operator.

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

Equality operator.

Parameters
AbstractFactoryconst reference
Returns
bool - true if instances are same
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

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

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