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

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

#include <at_factory.h>

Inheritance diagram for at::CreatorImpl1P< w_ImplementorType, w_InterfaceType, w_KeyType, w_arg_1 >:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef Creator1P< w_InterfaceType,
w_KeyType, w_arg_1 > 
t_CreatorType

Public Methods

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

Detailed Description

template<typename w_ImplementorType, typename w_InterfaceType, typename w_KeyType, typename w_arg_1>
class at::CreatorImpl1P< w_ImplementorType, w_InterfaceType, w_KeyType, w_arg_1 >

Implementations for creating objects using constructors with 1 parameters.


Member Typedef Documentation

template<typename w_ImplementorType, typename w_InterfaceType, typename w_KeyType, typename w_arg_1>
typedef Creator1P< w_InterfaceType, w_KeyType, w_arg_1 > at::CreatorImpl1P< w_ImplementorType, w_InterfaceType, w_KeyType, w_arg_1 >::t_CreatorType
 


Constructor & Destructor Documentation

template<typename w_ImplementorType, typename w_InterfaceType, typename w_KeyType, typename w_arg_1>
at::CreatorImpl1P< w_ImplementorType, w_InterfaceType, w_KeyType, w_arg_1 >::CreatorImpl1P 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, typename w_arg_1>
virtual w_InterfaceType* at::CreatorImpl1P< w_ImplementorType, w_InterfaceType, w_KeyType, w_arg_1 >::Create w_arg_1    i_arg_1,
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::Creator1P< w_InterfaceType, w_KeyType, w_arg_1 >.

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

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

Returns:
pointer to new object

Implements at::Creator1P< w_InterfaceType, w_KeyType, w_arg_1 >.

template<typename w_ImplementorType, typename w_InterfaceType, typename w_KeyType, typename w_arg_1>
virtual void at::CreatorImpl1P< w_ImplementorType, w_InterfaceType, w_KeyType, w_arg_1 >::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::Creator1P< w_InterfaceType, w_KeyType, w_arg_1 >.

template<typename w_ImplementorType, typename w_InterfaceType, typename w_KeyType, typename w_arg_1>
virtual int at::CreatorImpl1P< w_ImplementorType, w_InterfaceType, w_KeyType, w_arg_1 >::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