IT_Reflect::NillablePtrImplT< NillableT, T > Class Template Reference

#include <it_bus/reflect/nillable_ptr_impl_t.h>

Inheritance diagram for IT_Reflect::NillablePtrImplT< NillableT, T >:

IT_Reflect::ReflectionImpl IT_Reflect::Reflection IT_Bus::RefCountedBase List of all members.

Detailed Description

template<class NillableT, class T>
class IT_Reflect::NillablePtrImplT< NillableT, T >

Template base class for nillable type implementations.

Definition at line 17 of file nillable_ptr_impl_t.h.

Public Member Functions

 NillablePtrImplT (const NillableT *data) IT_THROW_DECL(())
 Constructor.
virtual ~NillablePtrImplT () IT_THROW_DECL(())
 Destructor.
virtual IT_Bus::Boolean get_is_nil () const IT_THROW_DECL(())
 Determine if the instance is nill.
virtual void set_is_nil () IT_THROW_DECL(())
 Set the instance to be nil.
virtual const Reflectionget_value () const IT_THROW_DECL((ReflectException))
 Get a read-only reflection of the value.
virtual Reflectionuse_value () IT_THROW_DECL((ReflectException))
 Get a reflection that can be used to modify the value.
virtual IT_Bus::AnyTypeclone () const IT_THROW_DECL(())
 Obtain a clone of the instance.
void reset (T *value)
 Reset.

Protected Member Functions

IT_Bus::AnyTypeget_data () const IT_THROW_DECL(())
 Obtain the value.

Private Attributes

NillableT * m_data


Constructor & Destructor Documentation

template<class NillableT, class T>
IT_Reflect::NillablePtrImplT< NillableT, T >::NillablePtrImplT ( const NillableT *  data  ) 

Constructor.

Parameters:
pointer to nillable class.

Definition at line 93 of file nillable_ptr_impl_t.h.


Member Function Documentation

template<class NillableT, class T>
IT_Bus::AnyType * IT_Reflect::NillablePtrImplT< NillableT, T >::clone (  )  const [virtual]

Obtain a clone of the instance.

Returns:
pointer to an AnyType. Caller must delete return value.

Implements IT_Reflect::Reflection.

Definition at line 148 of file nillable_ptr_impl_t.h.

References IT_Reflect::NillablePtrImplT< NillableT, T >::m_data.

template<class NillableT, class T>
IT_Bus::AnyType & IT_Reflect::NillablePtrImplT< NillableT, T >::get_data (  )  const [protected, virtual]

Obtain the value.

Returns:
pointer to an AnyType. Caller must delete return value.

Implements IT_Reflect::ReflectionImpl.

Definition at line 164 of file nillable_ptr_impl_t.h.

References IT_Reflect::NillablePtrImplT< NillableT, T >::m_data.

template<class NillableT, class T>
IT_Bus::Boolean IT_Reflect::NillablePtrImplT< NillableT, T >::get_is_nil (  )  const [virtual]

Determine if the instance is nill.

Returns:
Boolean

Definition at line 111 of file nillable_ptr_impl_t.h.

References IT_Reflect::NillablePtrImplT< NillableT, T >::m_data.

Referenced by IT_Reflect::NillablePtrImplT< NillableT, T >::get_value(), and IT_Reflect::NillablePtrImplT< NillableT, T >::use_value().

template<class NillableT, class T>
const Reflection * IT_Reflect::NillablePtrImplT< NillableT, T >::get_value (  )  const [virtual]

Get a read-only reflection of the value.

Returns:
Reflection of value or 0 if nil.

Definition at line 127 of file nillable_ptr_impl_t.h.

References IT_Reflect::NillablePtrImplT< NillableT, T >::get_is_nil().

template<class NillableT, class T>
void IT_Reflect::NillablePtrImplT< NillableT, T >::reset ( T *  value  ) 

Reset.

Parameters:
pointer to value

Definition at line 155 of file nillable_ptr_impl_t.h.

References IT_Reflect::NillablePtrImplT< NillableT, T >::m_data.

template<class NillableT, class T>
void IT_Reflect::NillablePtrImplT< NillableT, T >::set_is_nil (  )  [virtual]

Set the instance to be nil.

Returns:
void

Definition at line 119 of file nillable_ptr_impl_t.h.

References IT_Reflect::NillablePtrImplT< NillableT, T >::m_data.

template<class NillableT, class T>
Reflection * IT_Reflect::NillablePtrImplT< NillableT, T >::use_value (  )  [virtual]

Get a reflection that can be used to modify the value.

This makes get_is_nil() false.

Returns:
Modifiable reflection of value. Caller must _remove_ref().

Definition at line 136 of file nillable_ptr_impl_t.h.

References IT_Reflect::NillablePtrImplT< NillableT, T >::get_is_nil(), and IT_Reflect::NillablePtrImplT< NillableT, T >::m_data.


Generated on Thu Sep 7 11:41:02 2006 for Artix by  doxygen 1.4.7