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

#include <openvrml/node_impl_util.h>

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

Inheritance graph
[legend]

List of all members.


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.

See also:
openvrml::node_impl_util::ptr_to_polymorphic_mem

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.

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.


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.

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.