vfacade< Virtual, Extension > Class Template Reference

a virtual fascade implementation More...

#include <source/ariba/utility/addressing/facades/vfacade.hpp>

List of all members.

Public Types

typedef vfacade< Virtual > self

Public Member Functions

 vfacade ()
 constructs an undefined virtual facade
template<class T >
 vfacade (T &obj)
 constructs an initialized virtual facade
template<class T >
selfoperator= (T &obj)
 assigns a new object to this facade
bool is_null () const
 returns true, if the facade is unassigned
 operator Virtual * ()
 operator const Virtual * () const
 operator Virtual & ()
 operator const Virtual & () const
Virtual * operator-> ()
 returns the virtual object of the facade
Virtual & operator* ()
 returns a virtual object reference
const Virtual & operator* () const
 returns a virtual object reference
const Virtual * operator-> () const
 returns a constant virtual object of the facade
 vfacade ()
template<class Y >
 vfacade (const Y &_value)
template<class Y >
vfacade< X > & operator= (const Y &_value)
 vfacade (const vfacade< X > &v)
vfacade< X > & operator= (const vfacade< X > &v)
X * operator-> ()
const X * operator-> () const

Private Member Functions

template<class T >
void assign (T &obj)
template<class T >
void assign (const T &obj)
void assign (self &copy)
void assign (const self &copy)

Private Attributes

void * vtable
void * vadaptor
value


Detailed Description

template<class Virtual, class Extension = vfacade_no_class>
class vfacade< Virtual, Extension >

a virtual fascade implementation

TODO: Doc

Author:
Sebastian Mies <mies@tm.uka.de>
This class template implements a virtual facade using a defined interface X and a certain delegation specialization of vfascade_delegation<X,Y>.

Author:
Sebastian Mies <mies@edcft.de>

Definition at line 110 of file vfacade.hpp.


Member Typedef Documentation

template<class Virtual, class Extension = vfacade_no_class>
typedef vfacade<Virtual> vfacade< Virtual, Extension >::self

Definition at line 112 of file vfacade.hpp.


Constructor & Destructor Documentation

template<class Virtual, class Extension = vfacade_no_class>
vfacade< Virtual, Extension >::vfacade (  )  [inline]

constructs an undefined virtual facade

Definition at line 147 of file vfacade.hpp.

References vfacade< Virtual, Extension >::vadaptor, and vfacade< Virtual, Extension >::vtable.

template<class Virtual, class Extension = vfacade_no_class>
template<class T >
vfacade< Virtual, Extension >::vfacade ( T &  obj  )  [inline]

constructs an initialized virtual facade

Definition at line 154 of file vfacade.hpp.

References vfacade< Virtual, Extension >::assign().

template<class Virtual, class Extension = vfacade_no_class>
vfacade< Virtual, Extension >::vfacade (  )  [inline]

Definition at line 117 of file vfacade.hpp.

template<class Virtual, class Extension = vfacade_no_class>
template<class Y >
vfacade< Virtual, Extension >::vfacade ( const Y &  _value  )  [inline]

Definition at line 121 of file vfacade.hpp.

References vfacade< Virtual, Extension >::value.

template<class Virtual, class Extension = vfacade_no_class>
vfacade< Virtual, Extension >::vfacade ( const vfacade< X > &  v  )  [inline]

Definition at line 135 of file vfacade.hpp.

References vfacade< Virtual, Extension >::value.


Member Function Documentation

template<class Virtual, class Extension = vfacade_no_class>
void vfacade< Virtual, Extension >::assign ( const self copy  )  [inline, private]

template<class Virtual, class Extension = vfacade_no_class>
void vfacade< Virtual, Extension >::assign ( self copy  )  [inline, private]

template<class Virtual, class Extension = vfacade_no_class>
template<class T >
void vfacade< Virtual, Extension >::assign ( const T &  obj  )  [inline, private]

Definition at line 127 of file vfacade.hpp.

template<class Virtual, class Extension = vfacade_no_class>
template<class T >
void vfacade< Virtual, Extension >::assign ( T &  obj  )  [inline, private]

template<class Virtual, class Extension = vfacade_no_class>
bool vfacade< Virtual, Extension >::is_null (  )  const [inline]

returns true, if the facade is unassigned

Definition at line 166 of file vfacade.hpp.

References vfacade< Virtual, Extension >::vtable.

template<class Virtual, class Extension = vfacade_no_class>
vfacade< Virtual, Extension >::operator const Virtual & (  )  const [inline]

Definition at line 185 of file vfacade.hpp.

References vfacade< Virtual, Extension >::vtable.

template<class Virtual, class Extension = vfacade_no_class>
vfacade< Virtual, Extension >::operator const Virtual * (  )  const [inline]

Definition at line 175 of file vfacade.hpp.

References vfacade< Virtual, Extension >::vtable.

template<class Virtual, class Extension = vfacade_no_class>
vfacade< Virtual, Extension >::operator Virtual & (  )  [inline]

Definition at line 180 of file vfacade.hpp.

References vfacade< Virtual, Extension >::vtable.

template<class Virtual, class Extension = vfacade_no_class>
vfacade< Virtual, Extension >::operator Virtual * (  )  [inline]

Definition at line 170 of file vfacade.hpp.

References vfacade< Virtual, Extension >::vtable.

template<class Virtual, class Extension = vfacade_no_class>
const Virtual& vfacade< Virtual, Extension >::operator* (  )  const [inline]

returns a virtual object reference

Definition at line 203 of file vfacade.hpp.

References vfacade< Virtual, Extension >::vtable.

template<class Virtual, class Extension = vfacade_no_class>
Virtual& vfacade< Virtual, Extension >::operator* (  )  [inline]

returns a virtual object reference

Definition at line 197 of file vfacade.hpp.

References vfacade< Virtual, Extension >::vtable.

template<class Virtual, class Extension = vfacade_no_class>
const X* vfacade< Virtual, Extension >::operator-> (  )  const [inline]

Definition at line 148 of file vfacade.hpp.

References vfacade< Virtual, Extension >::value.

template<class Virtual, class Extension = vfacade_no_class>
X* vfacade< Virtual, Extension >::operator-> (  )  [inline]

Definition at line 144 of file vfacade.hpp.

References vfacade< Virtual, Extension >::value.

template<class Virtual, class Extension = vfacade_no_class>
const Virtual* vfacade< Virtual, Extension >::operator-> (  )  const [inline]

returns a constant virtual object of the facade

Definition at line 209 of file vfacade.hpp.

References vfacade< Virtual, Extension >::vtable.

template<class Virtual, class Extension = vfacade_no_class>
Virtual* vfacade< Virtual, Extension >::operator-> (  )  [inline]

returns the virtual object of the facade

Definition at line 191 of file vfacade.hpp.

References vfacade< Virtual, Extension >::vtable.

template<class Virtual, class Extension = vfacade_no_class>
vfacade<X>& vfacade< Virtual, Extension >::operator= ( const vfacade< X > &  v  )  [inline]

Definition at line 139 of file vfacade.hpp.

References vfacade< Virtual, Extension >::value.

template<class Virtual, class Extension = vfacade_no_class>
template<class Y >
vfacade<X>& vfacade< Virtual, Extension >::operator= ( const Y &  _value  )  [inline]

Definition at line 128 of file vfacade.hpp.

References vfacade< Virtual, Extension >::value.

template<class Virtual, class Extension = vfacade_no_class>
template<class T >
self& vfacade< Virtual, Extension >::operator= ( T &  obj  )  [inline]

assigns a new object to this facade

Definition at line 160 of file vfacade.hpp.

References vfacade< Virtual, Extension >::assign().


Member Data Documentation

template<class Virtual, class Extension = vfacade_no_class>
void* vfacade< Virtual, Extension >::vadaptor [private]

template<class Virtual, class Extension = vfacade_no_class>
X vfacade< Virtual, Extension >::value [private]

template<class Virtual, class Extension = vfacade_no_class>
void* vfacade< Virtual, Extension >::vtable [private]


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

Generated on Fri Aug 14 23:38:44 2009 for Ariba by  doxygen 1.5.8