#include <object.hpp>
Inheritance diagram for ph::common::object_base:
None of these interfaces are mandatory, so it is up to the systems using them to test for the interface before using it, and gracefully fail if not found.
Definition at line 30 of file object.hpp.
Public Member Functions | |
virtual | ~object_base () |
virtual outerable_object_base * | outerable () |
virtual const outerable_object_base * | outerable () const |
virtual composition_object_base * | composition () |
virtual const composition_object_base * | composition () const |
virtual deletable_object_base * | deletable () |
virtual const comparable_object_base * | comparable () const |
virtual visitable_object_base * | visitable () |
Visitable objects follow the Visitor pattern. | |
virtual const visitable_object_base * | visitable () const |
virtual persistable_object_base * | persistable () |
virtual const persistable_object_base * | persistable () const |
virtual cloneable_object_base * | cloneable () |
virtual const cloneable_object_base * | cloneable () const |
virtual pretendable_object_base * | pretendable () |
Pretendable objects can pretend to be other objects. | |
virtual const pretendable_object_base * | pretendable () const |
virtual importable_object_base * | importable () |
Importable objects can be imported. | |
virtual const importable_object_base * | importable () const |
virtual nameable_object_base * | nameable () |
Nameable objects can be named. | |
virtual const nameable_object_base * | nameable () const |
|
Definition at line 41 of file object.hpp. |
|
Outerable objects contain some type of pointer to the parent object. Reimplemented in reflect_test::base, reflect_test::c_base, persist_test::base, and persist_test::c_base. Definition at line 43 of file object.hpp. Referenced by ph::common::vector_object_helper::helper_add(), ph::common::ref_object_helper::helper_add(), ph::common::composite_object_helper::helper_equal(), and reflect_test::test_composite::test_parents(). |
|
Outerable objects contain some type of pointer to the parent object. This interface is used in circumstances where the class won't be modified. Reimplemented in reflect_test::base, reflect_test::c_base, persist_test::base, and persist_test::c_base. Definition at line 47 of file object.hpp. |
|
Composition objects follow the Composition pattern. Reimplemented in reflect_test::base, reflect_test::c_base, persist_test::base, and persist_test::c_base. Definition at line 53 of file object.hpp. Referenced by reflect_test::test_composite::test(). |
|
Composition objects follow the Composition pattern. This interface is used in circumstances where the class won't be modified. Reimplemented in reflect_test::base, reflect_test::c_base, persist_test::base, and persist_test::c_base. Definition at line 57 of file object.hpp. |
|
Deletable objects use a member to delete the object rather than a destructor. Reimplemented in reflect_test::c_base, and persist_test::c_base. Definition at line 63 of file object.hpp. Referenced by persist_test::test_base::dotest(), and ph::common::ref_object_helper::helper_delete_object(). |
|
Deletable objects use a member to delete the object rather than a destructor. This interface is used in circumstances where the class won't be modified. Reimplemented in reflect_test::c_base, and persist_test::c_base. Definition at line 67 of file object.hpp. Referenced by ph::common::composite_object_helper::helper_equal(), and reflect_test::test_composite::test_parents(). |
|
Visitable objects follow the Visitor pattern.
Reimplemented in reflect_test::base, and reflect_test::c_base. Definition at line 73 of file object.hpp. Referenced by ph::common::get_visitable_obj_member(), ph::reflect::ref_object_helper::helper_accept(), and ph::reflect::dump_object_visitor::visit(). |
|
Visitable objects follow the Visitor pattern. This interface is used in circumstances where the class won't be modified. Reimplemented in reflect_test::base, and reflect_test::c_base. Definition at line 76 of file object.hpp. |
|
Persistable objects can be written and read to some type of external storage. Reimplemented in persist_test::base, and persist_test::c_base. Definition at line 81 of file object.hpp. Referenced by persist_test::base::create(), ph::common::get_persistable_obj_name(), ph::common::get_persistable_obj_type(), ph::common::set_persistable_obj_name(), ph::common::set_persistable_obj_type(), persist_test::test_write::write_output(), and persist_test::test_dump::write_output(). |
|
Persistable objects can be written and read to some type of external storage. This interface is used in circumstances where the class won't be modified. Reimplemented in persist_test::base, and persist_test::c_base. Definition at line 85 of file object.hpp. |
|
Cloneable objects allow objects to be used in the abstract factory pattern. Definition at line 91 of file object.hpp. |
|
Cloneable objects allow objects to be used in the abstract factory pattern. This interface is used in circumstances where the class won't be modified. Definition at line 95 of file object.hpp. |
|
Pretendable objects can pretend to be other objects.
Definition at line 101 of file object.hpp. Referenced by ph::reflect::get_nth_object_visitor::visit(), ph::reflect::get_object_with_type_visitor::visit(), ph::reflect::get_object_visitor::visit(), and ph::reflect::get_composite_object_visitor::visit_composite(). |
|
Pretendable objects can pretend to be other objects. This interface is used in circumstances where the class won't be modified. Definition at line 104 of file object.hpp. |
|
Importable objects can be imported.
Definition at line 110 of file object.hpp. |
|
Importable objects can be imported. This interface is used in circumstances where the class won't be modified. Definition at line 113 of file object.hpp. |
|
Nameable objects can be named.
Definition at line 119 of file object.hpp. Referenced by ph::reflect::vector_object_helper::helper_accept(), ph::reflect::ref_object_helper::helper_accept(), and ph::common::composite_object_helper::helper_equal(). |
|
Nameable objects can be named. This interface is used in circumstances where the class won't be modified. Definition at line 122 of file object.hpp. |