openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object > Class Template Reference

Concrete pointer-to-polymorphic-member type. More...

#include <openvrml/node_impl_util.h>

Inheritance diagram for openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >:

List of all members.


Public Member Functions

 ptr_to_polymorphic_mem_impl (Member Object::*ptr_to_mem)
 Construct.
virtual ~ptr_to_polymorphic_mem_impl () throw ()
 Destroy.
virtual MemberBase & deref (Object &obj)
 Dereference.
virtual const MemberBase & deref (const Object &obj)

Private Attributes

Member Object::* ptr_to_mem
 Pointer-to-member.

Detailed Description

template<typename MemberBase, typename Member, typename Object>
class openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >

Concrete pointer-to-polymorphic-member type.

Template Parameters:
MemberBase the base type of the member.
Member the concrete type of the member.
Object the type that contains the member.
See also:
openvrml::node_impl_util::ptr_to_polymorphic_mem

Constructor & Destructor Documentation

template<typename MemberBase , typename Member, typename Object>
openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >::ptr_to_polymorphic_mem_impl ( Member Object::*  ptr_to_mem  )  [inline, explicit]

Construct.

Parameters:
[in] ptr_to_mem pointer-to-member.

template<typename MemberBase , typename Member , typename Object >
openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >::~ptr_to_polymorphic_mem_impl (  )  throw () [inline, virtual]

Destroy.

Template Parameters:
MemberBase the base type of the member.
Member the concrete type of the member.
Object the type that contains the member.


Member Function Documentation

template<typename MemberBase , typename Member , typename Object>
MemberBase & openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >::deref ( Object &  obj  )  [inline, virtual]

Dereference.

Template Parameters:
MemberBase the base type of the member.
Member the concrete type of the member.
Object the type that contains the member.
Returns:
a reference to the base type of the member.

Implements openvrml::node_impl_util::ptr_to_polymorphic_mem< MemberBase, Object >.

template<typename MemberBase , typename Member , typename Object>
const MemberBase & openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >::deref ( const Object &  obj  )  [inline, virtual]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns:
a const reference to the base type of the member.

Implements openvrml::node_impl_util::ptr_to_polymorphic_mem< MemberBase, Object >.


Member Data Documentation

template<typename MemberBase, typename Member, typename Object>
Member Object::* openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >::ptr_to_mem [private]

Pointer-to-member.

Template Parameters:
MemberBase the base type of the member.
Member the concrete type of the member.
Object the type that contains the member.