Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

at::CreatorImpl0P< w_ImplementorType, w_InterfaceType, w_KeyType > Class Template Reference
[Generic Factories]

#include <at_factory.h>

Inheritance diagram for at::CreatorImpl0P< w_ImplementorType, w_InterfaceType, w_KeyType >:

Inheritance graph
[legend]
Collaboration diagram for at::CreatorImpl0P< w_ImplementorType, w_InterfaceType, w_KeyType >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef Creator0P< w_InterfaceType,
w_KeyType > 
t_CreatorType

Public Methods

 CreatorImpl0P (w_KeyType i_key, const char *i_filename, int i_lineno, const char *i_description)
virtual w_InterfaceType * Create ()
virtual int Size ()
virtual w_InterfaceType * Create (void *i_location)
virtual void Destroy (w_InterfaceType *i_ptr)

Detailed Description

template<typename w_ImplementorType, typename w_InterfaceType, typename w_KeyType>
class at::CreatorImpl0P< w_ImplementorType, w_InterfaceType, w_KeyType >

Implementations for creating objects using constructors with 0 parameters.


Member Typedef Documentation

template<typename w_ImplementorType, typename w_InterfaceType, typename w_KeyType>
typedef Creator0P< w_InterfaceType, w_KeyType > at::CreatorImpl0P< w_ImplementorType, w_InterfaceType, w_KeyType >::t_CreatorType
 


Constructor & Destructor Documentation

template<typename w_ImplementorType, typename w_InterfaceType, typename w_KeyType>
at::CreatorImpl0P< w_ImplementorType, w_InterfaceType, w_KeyType >::CreatorImpl0P w_KeyType    i_key,
const char *    i_filename,
int    i_lineno,
const char *    i_description
[inline]
 


Member Function Documentation

template<typename w_ImplementorType, typename w_InterfaceType, typename w_KeyType>
virtual w_InterfaceType* at::CreatorImpl0P< w_ImplementorType, w_InterfaceType, w_KeyType >::Create void *    i_location [inline, virtual]
 

Create will invoke placement new - this method is overridden by the implementation specific class.

Returns:
pointer to new object

Implements at::Creator0P< w_InterfaceType, w_KeyType >.

template<typename w_ImplementorType, typename w_InterfaceType, typename w_KeyType>
virtual w_InterfaceType* at::CreatorImpl0P< w_ImplementorType, w_InterfaceType, w_KeyType >::Create   [inline, virtual]
 

Create will invoke new directly - this method is overridden by the implementation specific class.

Returns:
pointer to new object

Implements at::Creator0P< w_InterfaceType, w_KeyType >.

template<typename w_ImplementorType, typename w_InterfaceType, typename w_KeyType>
virtual void at::CreatorImpl0P< w_ImplementorType, w_InterfaceType, w_KeyType >::Destroy w_InterfaceType *    i_ptr [inline, virtual]
 

This supports objects with no virtual destructor (which is obviously a very rare case). This may be used in the case where a virtual method is not applicable, e.g. using shared memory.

More support for the PIMPL idiom.

Returns:
size of object

Implements at::Creator0P< w_InterfaceType, w_KeyType >.

template<typename w_ImplementorType, typename w_InterfaceType, typename w_KeyType>
virtual int at::CreatorImpl0P< w_ImplementorType, w_InterfaceType, w_KeyType >::Size   [inline, virtual]
 

This will return the size of the object created - this is to support the PIMPL idiom.

Returns:
size of object

Implements at::Factory_Base< w_KeyType >.


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

Generated for Austria by doxygen and MakeXS at Sun Oct 24 17:35:34 PDT 2004