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

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

#include <at_factory.h>

Inheritance diagram for at::Creator1P< w_InterfaceType, w_KeyType, w_arg_1 >:

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

Collaboration graph
[legend]
List of all members.

Public Methods

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

Detailed Description

template<typename w_InterfaceType, typename w_KeyType, typename w_arg_1>
class at::Creator1P< w_InterfaceType, w_KeyType, w_arg_1 >

Interface for creating objects using constructors with 1 parameters.


Constructor & Destructor Documentation

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

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

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


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