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 >:

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)
- Public Member Functions inherited from openvrml::node_impl_util::ptr_to_polymorphic_mem< MemberBase, Object >
virtual ~ptr_to_polymorphic_mem ()=0 throw ()
 Destroy.

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
MemberBasethe base type of the member.
Memberthe concrete type of the member.
Objectthe 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)
explicit

Construct.

Parameters
[in]ptr_to_mempointer-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 ()
virtual

Destroy.

Template Parameters
MemberBasethe base type of the member.
Memberthe concrete type of the member.
Objectthe 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)
virtual

Dereference.

Template Parameters
MemberBasethe base type of the member.
Memberthe concrete type of the member.
Objectthe 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)
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 >.