|
The Vish Visualization Shell 0.3
Vish
|
Implementation of a VISH type via procedural referencing instead of instantiation. More...
#include <ocean/plankton/VAbstractValue.hpp>
Public Member Functions | |
| const Ageable & | age () const override |
| Return the age of this value, constant version. | |
| Ageable & | age () override |
| Return the age of this value. | |
| RefPtr< VValueBase > | copy () const override |
| Create a copy of the respective value. | |
| const type_info & | getType () const override |
| Implement the virtual function to query the type ID of this value. | |
| bool | getValue (Type &Variable) const override |
| Implement the virtual function to get the current value. | |
| WeakPtr< VValueCreator > | getValueCreator () const override |
| Return the associated value creator. | |
| bool | setValue (const Type &Variable) override |
| Implement the assignment of the current value. | |
| bool | setValueFromText (const string &s) override |
| Generic interface to set a value from a text. | |
| RefPtr< VManagedObject > | source () override |
| In case this object is memory-managed, return its container. | |
| string | Text () const override |
| Convert the value into some text, which is interpretable via setValueFromText(). | |
| VAbstractValue (const VAbstractValue &V) | |
| Copy constructor. | |
Public Member Functions inherited from Wizt::VTypedValueBase< Type > | |
| RefPtr< ChunkBase > | getChunk (size_t N) const override |
| Create an array of type instances filled with values of the given count. | |
| const type_info & | getType () const override |
| Implement the type information function. | |
| bool | isDifferentFrom (const WeakPtr< VValueBase, VValueBase > &V) const override |
| Implement the comparison function from the VValueBase class utilizing the VValueCompareTrait type trait class. | |
| VTypedValueBase () | |
| Default Constructor. | |
| VTypedValueBase (const Ageable &A, const VTypedValueBase &V) | |
| Copy constructor, takes care of exported members. | |
Public Member Functions inherited from Wizt::VValueBase | |
| VValueBasePtr_t | component (const string &name) const |
| Retrieve a certain component from a compound value. | |
| int | copyComponents (const VValueBase &ValueSource) |
| Copy the components from another VValueBase. | |
| virtual WeakPtr< InterfaceBase > | getInterface () const |
| In case this value refers to the interface of some VObject, then this function may return such. | |
| virtual bool | getValueFrom (const WeakVValueBasePtr_t &V)=0 |
| Copy or cast a value from a possibly compatible type. | |
| int | iterate (ComponentIterator &CI) const |
| Find out which components are contained in the certain compound type. | |
| size_t | nComponents () const |
| How many components are available here? | |
| bool | operator!= (const VValueBase &V) const |
| Test for inequality. | |
| bool | operator!= (const WeakPtr< VValueBase, VValueBase > &V) const |
| Compare for equality with a value. | |
| bool | operator== (const VValueBase &V) const |
| Test for equality. | |
| virtual bool | setSource (const WeakPtr< VManagedObject > &Owner) |
| For special values which refer to the interface of another object, this function may allow to set another source for referencing such an interface. | |
| VValueBase () | |
| Default Constructor. | |
| VValueBase (const VValueBase &) | |
| Copy Constructor. | |
| ~VValueBase () | |
| Destructor. | |
Public Member Functions inherited from MemCore::ReferenceBase< VValueBase > | |
| auto | getObjectCountID () const noexcept |
| Get a unique ID for this object in the given domain. | |
| bool | isIdentical (const WeakPtr< VValueBase, VValueBase > &PossibleSelf) const noexcept |
| Check if this object is identical to the one used by the given pointer. | |
| void | mkAutoDestructive () |
| Marks this object as being automatically destructed, e.g. | |
| refcount_t | refcount () const noexcept |
| The strong reference count. | |
| ReferenceBase (VValueBase *that) noexcept | |
| Constructor, initializes reference counter to zero. | |
| const auto & | self () const |
| Return weak pointer to the object self. | |
| refcount_t | wrefcount () const noexcept |
| The weak reference count. | |
Public Member Functions inherited from MemCore::Ageable | |
| Ageable () noexcept | |
| Constructor; remembers birth time from current time counter. | |
| constexpr | Ageable (age_t t) noexcept |
| Constructor with explicit time value. | |
| constexpr | Ageable (const Ageable &A) noexcept |
| Copy constructor. | |
| Ageable (const volatile Ageable &A) noexcept | |
| Copy constructor. | |
| constexpr const Ageable & | getAge () const |
| Return reference to this age, useful for derived classes. | |
| bool | isNewerThan (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | isOlderThan (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | isYoungerThan (const Ageable &a) const noexcept |
| Comparison operator (alias to isNewerThan() ) | |
| bool | operator!= (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | operator< (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | operator<= (const Ageable &a) const noexcept |
| Comparision operator. | |
| bool | operator<= (const volatile Ageable &a) const volatile noexcept |
| Comparision operator. | |
| bool | operator== (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | operator> (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | operator> (const volatile Ageable &a) const volatile throw () |
| Comparision operator. | |
| bool | operator>= (const Ageable &a) const noexcept |
| Comparision operator. | |
| bool | operator>= (const volatile Ageable &a) const volatile noexcept |
| Comparison operator. | |
| constexpr void | resetAge () noexcept |
| Set time value to InfinitelyOld(). | |
| void | setInfinitelyNew () noexcept |
| Set time value to InfinitelyOld(). | |
| age_t | time_value () const noexcept |
| Return an object's current age. | |
| age_t | time_value () const volatile noexcept |
| Return an object's current age. | |
| Ageable & | touch () noexcept |
| Mark the current object as being modified "now". | |
| age_t | update (age_t age) noexcept |
| Set the age of the current object to a specific age if that is newer than the current one. | |
| age_t | update (const Ageable &Other) noexcept |
| Set the age of the current object to the age of another object if that other one is newer than the current one. | |
| age_t | update (const volatile Ageable &Other) volatile noexcept |
| Set the age of the current object to the age of another object if that other one is newer than the current one. | |
| ~Ageable () noexcept | |
| Destructor. | |
Additional Inherited Members | |
Public Types inherited from MemCore::ReferenceBase< VValueBase > | |
| using | reference_domain_t = VValueBase |
| The type of the base class. | |
| using | SelfPtr_t = WeakPtr< VValueBase, VValueBase > |
| Type for a pointer to this object itself. | |
Static Public Member Functions inherited from MemCore::Ageable | |
| static const Ageable & | InfinitelyNew () noexcept |
| Return a time that is infinitely in the future (well, sort of). | |
| static constexpr const Ageable & | InfinitelyOld () noexcept |
| Return a time that is infinitely in the past (well, sort of). | |
| static age_t | now () noexcept |
| Return the current global time. | |
Protected Member Functions inherited from MemCore::ReferenceBase< VValueBase > | |
| virtual void | extremeUnction () |
| A virtual function that will be called just before the object is destroyed. | |
| ReferenceBase & | operator= (const ReferenceBase &R) |
| Protected assignment operator (should not be called). | |
| void | suicide () |
| Delete this. | |
| virtual | ~ReferenceBase () |
| Virtual destructor. | |
Implementation of a VISH type via procedural referencing instead of instantiation.
All object interactions in VISH are performed via types. As such, a type is used to query for implementations of some functionality. Sometimes the type itself as data storage object is not of relevance at all, but just the functionality it provides. For such cases there might just be a single instance of this type in the entire application. Still, each VObject requiring this functionality will query for this type. What the VObject then will get is a reference to this certain type that allows to call its member functions.
In other words, when Type is such an abstract object, then VValue<Type> is just a pointer to an instance of this Type.
|
inlineoverridevirtual |
Implement the virtual function to query the type ID of this value.
For this value, the type is fixed throughout its lifetime and corresponds to the type of the template argument.
Implements Wizt::VValueBase.
|
inlineoverridevirtual |
Implement the virtual function to get the current value.
| Variable | The external storage space where to assign this value. |
Implements Wizt::VTypedValueBase< Type >.
|
inlineoverridevirtual |
Return the associated value creator.
Mostly used to enforce creation of static class members in the derived class, because implementations of virtual functions must not be optimized away by the compiler.
Implements Wizt::VValueBase.
|
inlineoverridevirtual |
Implement the assignment of the current value.
| Variable | The external storage space from where to assign this value. |
Implements Wizt::VTypedValueBase< Type >.