2005/5/9

     
 

class InterfaceHolder

artefaktur
Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

InterfaceHolder< I > Class Template Reference
[SmartPointers and Garbage Collection]

#include <RefHolder1.h>

Inheritance diagram for InterfaceHolder< I >:

RefHolder< I > RefHolder< I > RefHolder< I > List of all members.

Detailed Description

template<class I>
class InterfaceHolder< I >

InterfaceHolder is the base template class to hold references to Interfaces.

Author:
Roger Rene Kommer
Version:
Revision
1.10
Date:
Date
2005/04/09 19:26:56
Normally the user will not handle this directly, but will will be declared with:
ACDK_DECL_INTERFACE(InterfaceName)
This will define:
typedef InterfaceHolder<InterfaceName> RClassName;


Public Types

typedef I Type
typedef I Type
typedef I Type
typedef I Type
typedef I Type
typedef I Type

Public Member Functions

void * operator new (size_t size)
void operator delete (void *ptr)
void * operator new[] (size_t size)
void operator delete[] (void *ptr)
void * operator new (size_t size,::acdk::lang::sys::Allocator *allocator)
void _init (::acdk::lang::Object *obj)
void _init (I *iface,::acdk::lang::Object *obj)
void _init (::acdk::lang::ObjectBase *iface,::acdk::lang::Object *obj)
void _release ()
void _assign (I *iface,::acdk::lang::Object *obj)
void _assign (::acdk::lang::ObjectBase *iface,::acdk::lang::Object *obj)
 InterfaceHolder (NilRef n=Nil)
template<class OT>  InterfaceHolder (const InterfaceHolder< OT > &iface)
 InterfaceHolder (const InterfaceHolder< I > &iface)
template<class OT>  InterfaceHolder (const RefHolder< OT > &iface)
 casting from ROtherClass to RInterface

 InterfaceHolder (::acdk::lang::Object *obj)
 InterfaceHolder (I *iface,::acdk::lang::Object *optr)
 ~InterfaceHolder ()
InterfaceHolder< I > & operator= (NilRef nil)
template<class OT> InterfaceHolder< I > & operator= (const RefHolder< OT > &iface)
InterfaceHolder< I > & operator= (::acdk::lang::Object *iface)
template<class OT> InterfaceHolder< I > & operator= (const InterfaceHolder< OT > &other)
InterfaceHolder< I > & operator= (const InterfaceHolder< I > &other)
InterfaceHolder< I > & assign (I *iface,::acdk::lang::Object *obj)
I * operator-> ()
bool operator== (NilRef nil)
bool operator!= (NilRef nil)
template<class OT> bool operator== (const RefHolder< OT > &other)
template<class OT> bool operator!= (const RefHolder< OT > &other)
inline::acdk::lang::Object * getImpl () const
inline::acdk::lang::Object * impl () const
I * iptr () const
 operator I * ()
 operator::acdk::lang::Object * ()
static::acdk::lang::dmi::ClazzInfo * clazzInfo ()
void releaseRef ()
 operator::acdk::lang::RObject ()
I & operator * ()
I * operator & () const
InterfaceHolder< I > * _ref_this ()
void * operator new (size_t size)
void operator delete (void *ptr)
void * operator new[] (size_t size)
void operator delete[] (void *ptr)
void * operator new (size_t size,::acdk::lang::sys::Allocator *allocator)
void * operator new (size_t size, void *memptr)
void _init (::acdk::lang::Object *obj)
void _init (I *iface,::acdk::lang::Object *obj)
void _init (::acdk::lang::InterfaceBase *iface,::acdk::lang::Object *obj)
void _release ()
void _assign (I *iface,::acdk::lang::Object *obj)
void _assing2 (I *iface,::acdk::lang::Object *obj)
void _assign (::acdk::lang::ObjectBase *iface,::acdk::lang::Object *obj)
void _assign (::acdk::lang::InterfaceBase *iface,::acdk::lang::Object *obj)
 InterfaceHolder (NilRef n=Nil)
 InterfaceHolder (const InterfaceHolder< I > &iface)
 InterfaceHolder (I *iface)
 InterfaceHolder (I &iface)
 InterfaceHolder (::acdk::lang::InterfaceBase *ibase)
template<class OT>  InterfaceHolder (const RefHolder< OT > &other)
 InterfaceHolder (I *iface,::acdk::lang::Object *optr)
 ~InterfaceHolder ()
InterfaceHolder< I > & operator= (NilRef nil)
InterfaceHolder< I > & operator= (I *iptr)
InterfaceHolder< I > & operator= (I &iptr)
InterfaceHolder< I > & operator= (const InterfaceHolder< I > &other)
InterfaceHolder< I > & assign (I *iface,::acdk::lang::Object *obj)
I * operator-> ()
bool operator== (NilRef nil)
bool operator!= (NilRef nil)
template<class OT> bool operator== (const RefHolder< OT > &other)
template<class OT> bool operator!= (const RefHolder< OT > &other)
inline::acdk::lang::Object * getImpl () const
inline::acdk::lang::Object * impl () const
I * iptr () const
static::acdk::lang::dmi::ClazzInfo * clazzInfo ()
 operator I * ()
I & operator * ()
I * operator & () const
InterfaceHolder< I > * _ref_this ()
 InterfaceHolder (NilRef n=Nil)
 InterfaceHolder (const InterfaceHolder< I > &iface)
 InterfaceHolder (I *iface)
 InterfaceHolder (::acdk::lang::InterfaceBase *ibase)
template<class OT> upcast_explicit InterfaceHolder (const RefHolder< OT > &other)
 InterfaceHolder (I *iface,::acdk::lang::Object *optr)
 ~InterfaceHolder ()
InterfaceHolder< I > & operator= (NilRef nil)
InterfaceHolder< I > & operator= (I *iptr)
InterfaceHolder< I > & operator= (const InterfaceHolder< I > &other)
InterfaceHolder< I > & assign (I *iface,::acdk::lang::Object *obj)
I * operator-> () const
bool operator== (NilRef nil) const throw ()
bool operator!= (NilRef nil) const throw ()
template<class OT> bool operator== (const RefHolder< OT > &other) const throw ()
template<class OT> bool operator!= (const RefHolder< OT > &other) const throw ()
inline::acdk::lang::Object * getImpl () const
inline::acdk::lang::Object * impl () const throw ()
I * iptr () const throw ()
static::acdk::lang::dmi::ClazzInfo * clazzInfo ()
 operator I * () throw ()
I & operator * () const
I * operator & () const throw ()
InterfaceHolder< I > * _ref_this ()
 InterfaceHolder (NilRef n=Nil)
 InterfaceHolder (const InterfaceHolder< I > &iface)
 InterfaceHolder (I *iface)
 InterfaceHolder (I &iface)
 InterfaceHolder (::acdk::lang::InterfaceBase *ibase)
template<class OT>  InterfaceHolder (const RefHolder< OT > &other)
 InterfaceHolder (I *iface,::acdk::lang::Object *optr)
 ~InterfaceHolder ()
InterfaceHolder< I > & operator= (NilRef nil)
InterfaceHolder< I > & operator= (I *iptr)
InterfaceHolder< I > & operator= (I &iptr)
InterfaceHolder< I > & operator= (const InterfaceHolder< I > &other)
InterfaceHolder< I > & assign (I *iface,::acdk::lang::Object *obj)
I * operator-> ()
bool operator== (NilRef nil)
bool operator!= (NilRef nil)
template<class OT> bool operator== (const RefHolder< OT > &other)
template<class OT> bool operator!= (const RefHolder< OT > &other)
inline::acdk::lang::Object * getImpl () const
inline::acdk::lang::Object * impl () const
I * iptr () const
static::acdk::lang::dmi::ClazzInfo * clazzInfo ()
 operator I * ()
I & operator * ()
I * operator & () const
InterfaceHolder< I > * _ref_this ()
 InterfaceHolder (NilRef n=Nil)
 InterfaceHolder (const InterfaceHolder< I > &iface)
 InterfaceHolder (I *iface)
 InterfaceHolder (I &iface)
 InterfaceHolder (::acdk::lang::InterfaceBase *ibase)
template<class OT>  InterfaceHolder (const RefHolder< OT > &other)
 ~InterfaceHolder ()
InterfaceHolder< I > & operator= (NilRef nil)
InterfaceHolder< I > & operator= (I *iptr)
InterfaceHolder< I > & operator= (I &iptr)
InterfaceHolder< I > & operator= (const InterfaceHolder< I > &other)
InterfaceHolder< I > & assign (I *iface,::acdk::lang::Object *obj)
I * operator-> ()
bool operator== (NilRef nil)
bool operator!= (NilRef nil)
template<class OT> bool operator== (const RefHolder< OT > &other)
template<class OT> bool operator!= (const RefHolder< OT > &other)
static::acdk::lang::dmi::ClazzInfo * clazzInfo ()
 operator I * ()
I & operator * ()
I * operator & () const
InterfaceHolder< I > * _ref_this ()
void * operator new (size_t size)
void operator delete (void *ptr)
void * operator new[] (size_t size)
void operator delete[] (void *ptr)
void * operator new (size_t size,::acdk::lang::sys::Allocator *allocator)
void _init (::acdk::lang::Object *obj)
void _init (I *iface,::acdk::lang::Object *obj)
void _init (::acdk::lang::InterfaceBase *iface,::acdk::lang::Object *obj)
void _release ()
void _assign (I *iface,::acdk::lang::Object *obj)
void _assing2 (I *iface,::acdk::lang::Object *obj)
 precond: iface != 0 && obj != impl

void _assign (::acdk::lang::ObjectBase *iface,::acdk::lang::Object *obj)
void _assign (::acdk::lang::InterfaceBase *iface,::acdk::lang::Object *obj)
 InterfaceHolder (NilRef n=Nil)
 InterfaceHolder (const InterfaceHolder< I > &iface)
 InterfaceHolder (I *iface)
 InterfaceHolder (I &iface)
 InterfaceHolder (::acdk::lang::InterfaceBase *ibase)
 Usage sample: RIterator iterator() { return new HashMapIterator(...); }.

template<class OT>  InterfaceHolder (const RefHolder< OT > &other)
 InterfaceHolder (I *iface,::acdk::lang::Object *optr)
 ~InterfaceHolder ()
InterfaceHolder< I > & operator= (NilRef nil)
InterfaceHolder< I > & operator= (I *iptr)
InterfaceHolder< I > & operator= (I &iptr)
InterfaceHolder< I > & operator= (const InterfaceHolder< I > &other)
InterfaceHolder< I > & assign (I *iface,::acdk::lang::Object *obj)
I * operator-> ()
bool operator== (NilRef nil)
bool operator!= (NilRef nil)
template<class OT> bool operator== (const RefHolder< OT > &other)
template<class OT> bool operator!= (const RefHolder< OT > &other)
inline::acdk::lang::Object * getImpl () const
inline::acdk::lang::Object * impl () const
I * iptr () const
static::acdk::lang::dmi::ClazzInfo * clazzInfo ()
 operator I * ()
I & operator * ()
I * operator & () const
InterfaceHolder< I > * _ref_this ()

Protected Member Functions

void _init (::acdk::lang::Object *obj)
void _init (I *iface,::acdk::lang::Object *obj)
void _init (::acdk::lang::InterfaceBase *iface,::acdk::lang::Object *obj)
void _release ()
void _assign (I *iface,::acdk::lang::Object *obj)
void _assing2 (I *iface,::acdk::lang::Object *obj)
void _assign (::acdk::lang::ObjectBase *iface,::acdk::lang::Object *obj)
void _assign (::acdk::lang::InterfaceBase *iface,::acdk::lang::Object *obj)
void _init (I *iface,::acdk::lang::Object *obj)
void _init (I *iface,::acdk::lang::Object *obj, bool isstackref)
void _init (::acdk::lang::InterfaceBase *iface,::acdk::lang::Object *obj)
void _init (::acdk::lang::InterfaceBase *iface,::acdk::lang::Object *obj, bool isstackref)
void _assign (I *iface,::acdk::lang::Object *obj)
void _assign (I *iface,::acdk::lang::Object *obj, bool isstackref)
void _assign (::acdk::lang::ObjectBase *iface,::acdk::lang::Object *obj)
void _assign (::acdk::lang::ObjectBase *iface,::acdk::lang::Object *obj, bool isstackref)
void _assign (::acdk::lang::InterfaceBase *iface,::acdk::lang::Object *obj)
void _assign (::acdk::lang::InterfaceBase *iface,::acdk::lang::Object *obj, bool isstackref)
void _init (I *iface)
void _init (::acdk::lang::InterfaceBase *iface)
void _release (::acdk::lang::Object *simpl)
void _release ()
void _assign (I *iface)
void _assign2 (I *iface,::acdk::lang::Object *obj)
void _assign (::acdk::lang::ObjectBase *iface)
void _assign (::acdk::lang::InterfaceBase *iface)

Private Attributes

::acdk::lang::Object_impl
I * _iptr
::acdk::lang::Object_impl
I * _iptr
::acdk::lang::Object_impl
I * _iptr


Member Typedef Documentation

template<class I>
typedef I InterfaceHolder< I >::Type
 

Reimplemented from RefHolder< I >.

template<class I>
typedef I InterfaceHolder< I >::Type
 

Reimplemented from RefHolder< I >.

template<class I>
typedef I InterfaceHolder< I >::Type
 

Reimplemented from RefHolder< I >.

template<class I>
typedef I InterfaceHolder< I >::Type
 

Reimplemented from RefHolder< I >.

template<class I>
typedef I InterfaceHolder< I >::Type
 

Reimplemented from RefHolder< I >.

template<class I>
typedef I InterfaceHolder< I >::Type
 

Reimplemented from RefHolder< I >.


Constructor & Destructor Documentation

template<class I>
InterfaceHolder< I >::InterfaceHolder NilRef  n = Nil  )  [inline]
 

template<class I>
template<class OT>
InterfaceHolder< I >::InterfaceHolder const InterfaceHolder< OT > &  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder const InterfaceHolder< I > &  iface  )  [inline]
 

template<class I>
template<class OT>
InterfaceHolder< I >::InterfaceHolder const RefHolder< OT > &  iface  )  [inline]
 

casting from ROtherClass to RInterface

template<class I>
InterfaceHolder< I >::InterfaceHolder ::acdk::lang::Object obj  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I *  iface,
::acdk::lang::Object optr
[inline]
 

template<class I>
InterfaceHolder< I >::~InterfaceHolder  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder NilRef  n = Nil  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder const InterfaceHolder< I > &  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I *  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I &  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder ::acdk::lang::InterfaceBase ibase  )  [inline, explicit]
 

template<class I>
template<class OT>
InterfaceHolder< I >::InterfaceHolder const RefHolder< OT > &  other  )  [inline, explicit]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I *  iface,
::acdk::lang::Object optr
[inline]
 

template<class I>
InterfaceHolder< I >::~InterfaceHolder  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder NilRef  n = Nil  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder const InterfaceHolder< I > &  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I *  iface  ) 
 

template<class I>
InterfaceHolder< I >::InterfaceHolder ::acdk::lang::InterfaceBase ibase  )  [explicit]
 

template<class I>
template<class OT>
upcast_explicit InterfaceHolder< I >::InterfaceHolder const RefHolder< OT > &  other  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I *  iface,
::acdk::lang::Object optr
[inline]
 

template<class I>
InterfaceHolder< I >::~InterfaceHolder  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder NilRef  n = Nil  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder const InterfaceHolder< I > &  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I *  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I &  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder ::acdk::lang::InterfaceBase ibase  )  [inline, explicit]
 

template<class I>
template<class OT>
InterfaceHolder< I >::InterfaceHolder const RefHolder< OT > &  other  )  [inline, explicit]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I *  iface,
::acdk::lang::Object optr
[inline]
 

template<class I>
InterfaceHolder< I >::~InterfaceHolder  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder NilRef  n = Nil  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder const InterfaceHolder< I > &  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I *  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I &  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder ::acdk::lang::InterfaceBase ibase  )  [inline, explicit]
 

template<class I>
template<class OT>
InterfaceHolder< I >::InterfaceHolder const RefHolder< OT > &  other  )  [inline, explicit]
 

template<class I>
InterfaceHolder< I >::~InterfaceHolder  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder NilRef  n = Nil  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder const InterfaceHolder< I > &  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I *  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I &  iface  )  [inline]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder ::acdk::lang::InterfaceBase ibase  )  [inline, explicit]
 

Usage sample: RIterator iterator() { return new HashMapIterator(...); }.

template<class I>
template<class OT>
InterfaceHolder< I >::InterfaceHolder const RefHolder< OT > &  other  )  [inline, explicit]
 

template<class I>
InterfaceHolder< I >::InterfaceHolder I *  iface,
::acdk::lang::Object optr
[inline]
 

template<class I>
InterfaceHolder< I >::~InterfaceHolder  )  [inline]
 


Member Function Documentation

template<class I>
void InterfaceHolder< I >::_assign ::acdk::lang::InterfaceBase iface,
::acdk::lang::Object obj
[inline]
 

Reimplemented from RefHolder< I >.

template<class I>
void InterfaceHolder< I >::_assign ::acdk::lang::ObjectBase iface,
::acdk::lang::Object obj
[inline]
 

Reimplemented from RefHolder< I >.

template<class I>
void InterfaceHolder< I >::_assign I *  iface,
::acdk::lang::Object obj
[inline]
 

Reimplemented from RefHolder< I >.

template<class I>
void InterfaceHolder< I >::_assign ::acdk::lang::InterfaceBase iface  )  [inline, protected]
 

Reimplemented from RefHolder< I >.

template<class I>
void InterfaceHolder< I >::_assign ::acdk::lang::ObjectBase iface  )  [inline, protected]
 

Reimplemented from RefHolder< I >.

template<class I>
void InterfaceHolder< I >::_assign I *  iface  )  [inline, protected]
 

Reimplemented from RefHolder< I >.

template<class I>
void InterfaceHolder< I >::_assign ::acdk::lang::InterfaceBase iface,
::acdk::lang::Object obj,
bool  isstackref
[inline, protected]
 

Reimplemented from RefHolder< I >.

template<class I>
void InterfaceHolder< I >::_assign ::acdk::lang::InterfaceBase iface,
::acdk::lang::Object obj
[inline, protected]
 

Reimplemented from RefHolder< I >.

template<class I>
void InterfaceHolder< I >::_assign ::acdk::lang::ObjectBase iface,
::acdk::lang::Object obj,
bool  isstackref
[inline, protected]
 

Reimplemented from RefHolder< I >.

template<class I>
void InterfaceHold