cartobase
5.0.5
|
storage wrapper, derived but still abstract template class More...
#include <cartobase/object/object.h>
Public Member Functions | |
TypedObject () | |
virtual | ~TypedObject () |
virtual T & | getValue () |
const T & | getValue () const |
virtual void | setValue (Object val) |
virtual Object | clone () const |
cloning copy More... | |
virtual std::string | type () const |
type() returns the DataTypeCode::name() of the underlying object type More... | |
virtual bool | isScalar () const |
Returns false if the stored object doesn't actually implement the ScalarInterface API (needed since all GenericObject inherit this interface whatever they actually contain) More... | |
virtual double | getScalar () const |
Obtain a scalar value, possibly after a conversion. More... | |
virtual void | setScalar (double) |
The double value will be converted to the actual storage type before it is set in the contained object. More... | |
virtual bool | isString () const |
Returns false if the stored object doesn't actually implement the StringInterface API (needed since all GenericObject inherit this interface whatever they actually contain) More... | |
virtual std::string | getString () const |
Obtain a string value, possibly after a conversion. More... | |
virtual void | setString (const std::string &) |
The string value may be converted to the actual storage type before it is set in the contained object. More... | |
virtual bool | isArray () const |
Returns false if the stored object doesn't actually implement the ArrayInterface API (needed since all GenericObject inherit this interface whatever they actually contain) More... | |
virtual Object | getArrayItem (int index) const |
Get the element of index index . More... | |
virtual void | setArrayItem (int, Object) |
virtual size_t | size () const |
Number of sub-elements. More... | |
virtual bool | isDynArray () const |
Returns false if the stored object doesn't actually implement the DynArrayInterface API (needed since all GenericObject inherit this interface whatever they actually contain) More... | |
virtual void | reserveArray (size_t) |
like the STL vector::reserve(), memory is reserved but no element is stored More... | |
virtual void | resizeArray (size_t) |
resize the array. More... | |
virtual void | removeArrayItem (int) |
removes an element from the array. More... | |
virtual void | insertArrayItem (int, Object) |
inserts an element into the array. More... | |
virtual bool | getProperty (const std::string &, Object &) const |
Access the element ok key key . More... | |
virtual bool | isDictionary () const |
Returns false if the stored object doesn't actually implement the DictionaryInterface API (needed since all GenericObject inherit this interface whatever they actually contain) More... | |
virtual void | setProperty (const std::string &, Object) |
Set (insert or replace) the element of key key with the value object. More... | |
virtual bool | removeProperty (const std::string &) |
remove an element. More... | |
virtual bool | hasProperty (const std::string &) const |
check if an element exists under the key key More... | |
virtual void | clearProperties () |
clear the dictionary More... | |
virtual bool | isIterable () const |
Returns false if the stored object doesn't actually implement the IterableInterface API (needed since all GenericObject inherit this interface whatever they actually contain) More... | |
virtual Object | objectIterator () const |
returns an object implementing the IteratorIntrerface More... | |
virtual bool | isIterator () const |
Returns false if the stored object doesn't actually implement the IteratorInterface API (needed since all GenericObject inherit this interface whatever they actually contain) More... | |
virtual bool | isValid () const |
true if the iterator points to a valid value, false when the end of the iterable container has been reached More... | |
virtual Object | currentValue () const |
Access the value of the element pointed to by the iterator. More... | |
virtual void | next () |
Point to the next element of the iterable container. More... | |
virtual bool | isKeyIterator () const |
Returns false if the stored object doesn't actually implement the DictionaryIteratorInterface API (needed since all GenericObject inherit this interface whatever they actually contain) More... | |
virtual Object | keyObject () const |
Access the key of the current element. More... | |
virtual bool | isDictionaryIterator () const |
Returns false if the stored object doesn't actually implement the DictionaryIteratorInterface API (needed since all GenericObject inherit this interface whatever they actually contain) More... | |
virtual std::string | key () const |
Access the key of the current dictionary element. More... | |
virtual bool | isIntKeyIterator () const |
Returns false if the stored object doesn't actually implement the DictionaryIteratorInterface API (needed since all GenericObject inherit this interface whatever they actually contain) More... | |
virtual long | intKey () const |
Access the key of the current dictionary element. More... | |
virtual bool | isNone () const |
Returns false if the stored object doesn't actually implement the NoneInterface API (needed since all GenericObject inherit this interface whatever they actually contain) More... | |
virtual bool | operator== (const GenericObject &other) const |
Public Member Functions inherited from carto::GenericObject | |
virtual | ~GenericObject () |
template<typename T > | |
const T & | value () const |
Retreive value in object, const reference. More... | |
template<typename T > | |
T & | value () |
Retreive value in object, by non-const reference. More... | |
template<typename T > | |
bool | value (T &) const |
Retreive value in object, and store it in a variable. More... | |
template<typename T > | |
void | setValue (const T &val) |
Store value in object by copying it. More... | |
template<typename T > | |
T * | getInterface () |
Obtain a specific Interface subclass. More... | |
template<typename T > | |
const T * | getInterface () const |
const access to an interface More... | |
virtual bool | operator!= (const GenericObject &other) const |
Public Member Functions inherited from carto::RCObject | |
RCObject () | |
RCObject (const RCObject &) | |
RCObject & | operator= (const RCObject &) |
virtual | ~RCObject () |
Public Member Functions inherited from carto::StringInterface | |
virtual | ~StringInterface () |
virtual bool | operator== (const StringInterface &other) const |
equality test More... | |
virtual bool | operator!= (const StringInterface &other) const |
Public Member Functions inherited from carto::Interface | |
virtual | ~Interface () |
Public Member Functions inherited from carto::ScalarInterface | |
virtual | ~ScalarInterface () |
virtual bool | operator== (const ScalarInterface &other) const |
equality test More... | |
virtual bool | operator!= (const ScalarInterface &other) const |
Public Member Functions inherited from carto::DynArrayInterface | |
virtual | ~DynArrayInterface () |
Public Member Functions inherited from carto::ArrayInterface | |
virtual | ~ArrayInterface () |
Public Member Functions inherited from carto::SizeInterface | |
virtual | ~SizeInterface () |
Public Member Functions inherited from carto::IterableInterface | |
virtual | ~IterableInterface () |
virtual bool | operator== (const IterableInterface &other) const |
equality test More... | |
virtual bool | operator!= (const IterableInterface &other) const |
Public Member Functions inherited from carto::DictionaryInterface | |
virtual | ~DictionaryInterface () |
Object | getProperty (const std::string &) const |
same as the other getProperty() functions except that the value object is returned. More... | |
Object | getProperty (Object key) const |
same as the other getProperty() functions except that the key is contained in the key argument (which must implement the StringInterface). More... | |
template<typename T > | |
bool | getProperty (const std::string &key, T &value) const |
same as the other getProperty() functions except that the value object must be of exact type T and is copied to the value argument. More... | |
void | setProperty (const std::string &, const char *) |
specific specialization: C strings are stored as std::string objects More... | |
template<typename T > | |
void | setProperty (const std::string &, const T &) |
same as the other setProperty() functions except that the value to be set is of the arbitrary type T and will possibly be stored in an Object. More... | |
virtual void | copyProperties (Object source) |
copy all properties of the source object to this object. More... | |
virtual bool | operator== (const DictionaryInterface &other) const |
equality test More... | |
virtual bool | operator!= (const DictionaryInterface &other) const |
template<> | |
void | setProperty (const std::string &key, Object const &value) |
template<> | |
bool | getProperty (const std::string &key, Object &value) const |
Public Member Functions inherited from carto::IteratorInterface | |
virtual | ~IteratorInterface () |
Public Member Functions inherited from carto::KeyIteratorInterface | |
virtual | ~KeyIteratorInterface () |
Public Member Functions inherited from carto::DictionaryIteratorInterface | |
virtual | ~DictionaryIteratorInterface () |
Public Member Functions inherited from carto::IntKeyIteratorInterface | |
virtual | ~IntKeyIteratorInterface () |
Public Member Functions inherited from carto::NoneInterface | |
virtual | ~NoneInterface () |
Additional Inherited Members | |
Public Types inherited from carto::RCObject | |
typedef int | RefCounterType |
storage wrapper, derived but still abstract template class
TypedObject represents any kind of Generic object, but is still an abstract template class. See ValueObject and ReferenceObject for instanciable classes.
carto::TypedObject< T >::TypedObject | ( | ) |
Definition at line 186 of file object_d.h.
|
virtual |
Definition at line 194 of file object_d.h.
|
virtual |
clear the dictionary
Reimplemented from carto::DictionaryInterface.
Definition at line 506 of file object_d.h.
|
virtual |
cloning copy
Implements carto::GenericObject.
Reimplemented in carto::PointerObject< T >, carto::ReferenceObject< T >, carto::ValueObject< T >, and carto::ValueObject< SyntaxedInterfaceType< T > >.
Definition at line 249 of file object_d.h.
|
virtual |
Access the value of the element pointed to by the iterator.
Implements carto::IteratorInterface.
Definition at line 574 of file object_d.h.
|
virtual |
Get the element of index index
.
An exception will be thrown if the stored object doesn't actually implement the ArrayInterface. But if it does, access to an element of index greater or equal to size() should not be attempted: depending on the exact storage type and array implementation, it can either throw an exception, or simply crash the program.
Implements carto::ArrayInterface.
Definition at line 371 of file object_d.h.
|
virtual |
Access the element ok key key
.
value
is filled with a wrapper to the selected element. If it fails (key not found for instance), an exception is thrown.
Implements carto::DictionaryInterface.
Definition at line 475 of file object_d.h.
|
virtual |
Obtain a scalar value, possibly after a conversion.
This method may throw an exception if the stored object has not a scalar-compatible interface
Implements carto::ScalarInterface.
Definition at line 307 of file object_d.h.
|
virtual |
Obtain a string value, possibly after a conversion.
This method may throw an exception if the stored object has not a string-compatible interface
Implements carto::StringInterface.
Definition at line 339 of file object_d.h.
|
virtual |
Reimplemented in carto::PointerObject< T >, carto::ReferenceObject< T >, carto::ValueObject< T >, and carto::ValueObject< SyntaxedInterfaceType< T > >.
Definition at line 241 of file object_d.h.
Referenced by carto::interface_internal::StringImpl< T, B >::equals(), carto::interface_internal::StringImpl< T, B >::getString(), carto::TypedObject< SyntaxedInterfaceType< T > >::getValue(), carto::interface_internal::ScalarImpl< T, true >::setScalar(), and carto::GenericObject::value().
|
inline |
Definition at line 201 of file object_d.h.
|
virtual |
check if an element exists under the key key
Implements carto::DictionaryInterface.
Definition at line 516 of file object_d.h.
|
virtual |
inserts an element into the array.
All elements after this one may be moved, so iterators pointing after it may become invalid
Implements carto::DynArrayInterface.
Definition at line 435 of file object_d.h.
|
virtual |
Access the key of the current dictionary element.
Implements carto::IntKeyIteratorInterface.
Definition at line 659 of file object_d.h.
|
virtual |
Returns false if the stored object doesn't actually implement the ArrayInterface API (needed since all GenericObject inherit this interface whatever they actually contain)
Reimplemented from carto::ArrayInterface.
Definition at line 362 of file object_d.h.
|
virtual |
Returns false if the stored object doesn't actually implement the DictionaryInterface API (needed since all GenericObject inherit this interface whatever they actually contain)
Reimplemented from carto::DictionaryInterface.
Definition at line 465 of file object_d.h.
|
virtual |
Returns false if the stored object doesn't actually implement the DictionaryIteratorInterface API (needed since all GenericObject inherit this interface whatever they actually contain)
Reimplemented from carto::DictionaryIteratorInterface.
Definition at line 624 of file object_d.h.
|
virtual |
Returns false if the stored object doesn't actually implement the DynArrayInterface API (needed since all GenericObject inherit this interface whatever they actually contain)
Reimplemented from carto::DynArrayInterface.
Definition at line 396 of file object_d.h.
|
virtual |
Returns false if the stored object doesn't actually implement the DictionaryIteratorInterface API (needed since all GenericObject inherit this interface whatever they actually contain)
Reimplemented from carto::IntKeyIteratorInterface.
Definition at line 649 of file object_d.h.
|
virtual |
Returns false if the stored object doesn't actually implement the IterableInterface API (needed since all GenericObject inherit this interface whatever they actually contain)
Reimplemented from carto::IterableInterface.
Definition at line 531 of file object_d.h.
|
virtual |
Returns false if the stored object doesn't actually implement the IteratorInterface API (needed since all GenericObject inherit this interface whatever they actually contain)
Reimplemented from carto::IteratorInterface.
Definition at line 555 of file object_d.h.
|
virtual |
Returns false if the stored object doesn't actually implement the DictionaryIteratorInterface API (needed since all GenericObject inherit this interface whatever they actually contain)
Reimplemented from carto::KeyIteratorInterface.
Definition at line 599 of file object_d.h.
|
virtual |
Returns false if the stored object doesn't actually implement the NoneInterface API (needed since all GenericObject inherit this interface whatever they actually contain)
Implements carto::NoneInterface.
Definition at line 674 of file object_d.h.
|
virtual |
Returns false if the stored object doesn't actually implement the ScalarInterface API (needed since all GenericObject inherit this interface whatever they actually contain)
Reimplemented from carto::ScalarInterface.
Definition at line 298 of file object_d.h.
|
virtual |
Returns false if the stored object doesn't actually implement the StringInterface API (needed since all GenericObject inherit this interface whatever they actually contain)
Reimplemented from carto::StringInterface.
Definition at line 330 of file object_d.h.
|
virtual |
true
if the iterator points to a valid value, false
when the end of the iterable container has been reached
Implements carto::IteratorInterface.
Definition at line 564 of file object_d.h.
|
virtual |
Access the key of the current dictionary element.
Implements carto::DictionaryIteratorInterface.
Definition at line 634 of file object_d.h.
|
virtual |
Access the key of the current element.
Implements carto::KeyIteratorInterface.
Definition at line 609 of file object_d.h.
|
virtual |
Point to the next element of the iterable container.
Implements carto::IteratorInterface.
Definition at line 584 of file object_d.h.
|
virtual |
returns an object implementing the IteratorIntrerface
Implements carto::IterableInterface.
Definition at line 540 of file object_d.h.
|
virtual |
Reimplemented from carto::GenericObject.
Definition at line 684 of file object_d.h.
|
virtual |
removes an element from the array.
All elements after the one removed may be moved, so iterators pointing after it may become invalid
Implements carto::DynArrayInterface.
Definition at line 425 of file object_d.h.
|
virtual |
remove an element.
Note that on some dictionary implementations (PropertySet with builtin properties for instance), some properties cannot be removed.
Implements carto::DictionaryInterface.
Definition at line 496 of file object_d.h.
|
virtual |
like the STL vector::reserve(), memory is reserved but no element is stored
Implements carto::DynArrayInterface.
Definition at line 405 of file object_d.h.
|
virtual |
resize the array.
This may need to copy all existing elements, so all iterators may become invalid after this operation
Implements carto::DynArrayInterface.
Definition at line 415 of file object_d.h.
|
virtual |
Implements carto::ArrayInterface.
Definition at line 381 of file object_d.h.
|
virtual |
Set (insert or replace) the element of key key
with the value
object.
On some specific dictionary implementations (such as PropertySet with builtin properties, or maps of specific, typed values), an existing property cannot change type. In this case value
must hold an object of the correct type, otherwise an exception will be thrown.
Implements carto::DictionaryInterface.
Definition at line 486 of file object_d.h.
|
virtual |
The double value will be converted to the actual storage type before it is set in the contained object.
This method may throw an exception if the stored object has not a scalar-compatible interface
Implements carto::ScalarInterface.
Definition at line 316 of file object_d.h.
|
virtual |
The string value may be converted to the actual storage type before it is set in the contained object.
This method may throw an exception if the stored object has not a string-compatible interface
Implements carto::StringInterface.
Definition at line 348 of file object_d.h.
|
virtual |
Implements carto::GenericObject.
Definition at line 209 of file object_d.h.
|
virtual |
Number of sub-elements.
This method may throw an exception if the stored object has not a size-compatible interface
Implements carto::GenericObject.
Definition at line 451 of file object_d.h.
|
virtual |
type() returns the DataTypeCode::name() of the underlying object type
Implements carto::GenericObject.
Definition at line 217 of file object_d.h.