IT_Reflect::NillableRawPtrImplT< T > Class Template Reference

#include <it_bus/reflect/nillable_raw_ptr_impl_t.h>

Inheritance diagram for IT_Reflect::NillableRawPtrImplT< T >:

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

Detailed Description

template<class T>
class IT_Reflect::NillableRawPtrImplT< T >

Template base class for nillable type implementations.

Definition at line 15 of file nillable_raw_ptr_impl_t.h.

Public Member Functions

 NillableRawPtrImplT (const T *&data) IT_THROW_DECL(())
 Constructor.
virtual ~NillableRawPtrImplT () 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 const IT_Bus::QNameget_type_name () const IT_THROW_DECL(())
 Obtain the QName for the type.
virtual IT_Bus::AnyType::Kind get_type_kind () const IT_THROW_DECL(())
 Obtain the Kind for the type.
virtual const IT_Bus::AnyTypeget_reflected () const IT_THROW_DECL(())
 Obtain a reference to the type encapsulated by the nillable class.
virtual IT_Bus::AnyTypeget_reflected () IT_THROW_DECL(())
 Obtain a reference to the type encapsulated by the nillable class.
virtual IT_Bus::AnyTypeclone () const IT_THROW_DECL((ReflectException))
 Obtain a clone of the instance.

Protected Member Functions

T & check_data ()

Protected Attributes

T *& m_data


Constructor & Destructor Documentation

template<class T>
IT_Reflect::NillableRawPtrImplT< T >::NillableRawPtrImplT ( const T *&  data  ) 

Constructor.

Parameters:
AnyType,nillable class

Definition at line 83 of file nillable_raw_ptr_impl_t.h.


Member Function Documentation

template<class T>
IT_Bus::AnyType * IT_Reflect::NillableRawPtrImplT< 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 181 of file nillable_raw_ptr_impl_t.h.

References IT_Reflect::NillableRawPtrImplT< T >::check_data().

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

Determine if the instance is nill.

Returns:
Boolean
Exceptions:
ReflectException 

Implements IT_Reflect::Nillable.

Definition at line 112 of file nillable_raw_ptr_impl_t.h.

References IT_Reflect::NillableRawPtrImplT< T >::m_data.

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

template<class T>
IT_Bus::AnyType::Kind IT_Reflect::NillableRawPtrImplT< T >::get_type_kind (  )  const [virtual]

Obtain the Kind for the type.

Returns:
AnyType::Kind

Implements IT_Reflect::Reflection.

Definition at line 157 of file nillable_raw_ptr_impl_t.h.

References IT_Reflect::NillableRawPtrImplT< T >::check_data().

template<class T>
const IT_Bus::QName & IT_Reflect::NillableRawPtrImplT< T >::get_type_name (  )  const [virtual]

Obtain the QName for the type.

Returns:
QName

Implements IT_Reflect::Reflection.

Definition at line 149 of file nillable_raw_ptr_impl_t.h.

References IT_Reflect::NillableRawPtrImplT< T >::check_data().

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

Get a read-only reflection of the value.

Returns:
Reflection of value or 0 if nil.
Exceptions:
ReflectException 

Implements IT_Reflect::Nillable.

Definition at line 129 of file nillable_raw_ptr_impl_t.h.

References IT_Reflect::NillableRawPtrImplT< T >::get_is_nil().

template<class T>
void IT_Reflect::NillableRawPtrImplT< T >::set_is_nil (  )  [virtual]

Set the instance to be nil.

Returns:
void
Exceptions:
ReflectException 

Implements IT_Reflect::Nillable.

Definition at line 120 of file nillable_raw_ptr_impl_t.h.

References IT_Reflect::NillableRawPtrImplT< T >::m_data.

template<class T>
Reflection * IT_Reflect::NillableRawPtrImplT< 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().
Exceptions:
ReflectException 

Implements IT_Reflect::Nillable.

Definition at line 137 of file nillable_raw_ptr_impl_t.h.

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


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