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::*
.
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 & openvrml::node_impl_util::ptr_to_polymorphic_mem< MemberBase, Object >::deref | ( | Object & | obj | ) | [pure virtual] |
Dereference.
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.
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 >.