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

at::Creator2P< w_InterfaceType, w_KeyType, w_arg_1, w_arg_2 > Class Template Reference
[Generic Factories]

#include <at_factory.h>

Inheritance diagram for at::Creator2P< w_InterfaceType, w_KeyType, w_arg_1, w_arg_2 >:

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

Collaboration graph
[legend]
List of all members.

Public Methods

 Creator2P (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, w_arg_2 i_arg_2)=0
virtual void Destroy (w_InterfaceType *i_ptr)=0
virtual w_InterfaceType * Create (w_arg_1 i_arg_1, w_arg_2 i_arg_2, void *i_location)=0

Detailed Description

template<typename w_InterfaceType, typename w_KeyType, typename w_arg_1, typename w_arg_2>
class at::Creator2P< w_InterfaceType, w_KeyType, w_arg_1, w_arg_2 >

Interface for creating objects using constructors with 2 parameters.


Constructor & Destructor Documentation

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

All creator constructors take their key.

Parameters:
i_key 


Member Function Documentation

template<typename w_InterfaceType, typename w_KeyType, typename w_arg_1, typename w_arg_2>
virtual w_InterfaceType* at::Creator2P< w_InterfaceType, w_KeyType, w_arg_1, w_arg_2 >::Create w_arg_1    i_arg_1,
w_arg_2    i_arg_2,
void *    i_location
[pure virtual]
 

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

Returns:
pointer to new object

Implemented in at::CreatorImpl2P< w_ImplementorType, w_InterfaceType, w_KeyType, w_arg_1, w_arg_2 >.

template<typename w_InterfaceType, typename w_KeyType, typename w_arg_1, typename w_arg_2>
virtual w_InterfaceType* at::Creator2P< w_InterfaceType, w_KeyType, w_arg_1, w_arg_2 >::Create w_arg_1    i_arg_1,
w_arg_2    i_arg_2
[pure virtual]
 

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

Returns:
pointer to new object

Implemented in at::CreatorImpl2P< w_ImplementorType, w_InterfaceType, w_KeyType, w_arg_1, w_arg_2 >.

template<typename w_InterfaceType, typename w_KeyType, typename w_arg_1, typename w_arg_2>
virtual void at::Creator2P< w_InterfaceType, w_KeyType, w_arg_1, w_arg_2 >::Destroy w_InterfaceType *    i_ptr [pure 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

Implemented in at::CreatorImpl2P< w_ImplementorType, w_InterfaceType, w_KeyType, w_arg_1, w_arg_2 >.


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