Home | Download | Screen shots | Discussion | Documentation |
---|
#include <openvrml/node_impl_util.h>
In conjunction with ptr_to_polymorphic_mem_impl
, this class circumvents the “contravariance problem” with pointer-to-member types. That is, the type Base Object::*
is not compatible with the type Derived Object::*
.
MemberBase | the base type of the member. | |
Object | the type that contains the member. |
Public Member Functions | |
virtual | ~ptr_to_polymorphic_mem ()=0 throw () |
Destroy. | |
virtual MemberBase & | deref (Object &obj)=0 |
Dereference. | |
virtual const MemberBase & | deref (const Object &obj)=0 |
openvrml::node_impl_util::ptr_to_polymorphic_mem< MemberBase, Object >::~ptr_to_polymorphic_mem | ( | ) | throw () [inline, pure virtual] |
Destroy.
MemberBase | the base type of the member. | |
Object | the type that contains the member. |
MemberBase & openvrml::node_impl_util::ptr_to_polymorphic_mem< MemberBase, Object >::deref | ( | Object & | obj | ) | [pure virtual] |
Dereference.
MemberBase | the base type of the member. | |
Object | the type that contains the member. |
Implemented in openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >, openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< openvrml::event_listener, EventListenerMember, Node >, openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< openvrml::event_emitter, EventEmitterMember, Node >, and openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< openvrml::field_value, FieldMember, Node >.
const MemberBase & openvrml::node_impl_util::ptr_to_polymorphic_mem< MemberBase, Object >::deref | ( | const Object & | obj | ) | [pure virtual] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
MemberBase | the base type of the member. | |
Object | the type that contains the member. |
const
reference to the base type of the member. Implemented in openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >, openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< openvrml::event_listener, EventListenerMember, Node >, openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< openvrml::event_emitter, EventEmitterMember, Node >, and openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< openvrml::field_value, FieldMember, Node >.