Tekkotsu Homepage | Demos | Overview | Downloads | Dev. Resources | Reference | Credits |
plist::ObjectBase Class Reference#include <plistBase.h>
Inheritance diagram for plist::ObjectBase:
![]() Detailed DescriptionThis base class provides the root functionality for all plist entities -- Dictionary and the various templated subclasses of PrimitiveBase.The subclasses may throw std::bad_format if the document is poorly structured or bad values are found. Definition at line 127 of file plistBase.h.
Constructor & Destructor Documentation
Member Function Documentation
polymorphic assignment (throws std::bad_cast if the assignment is between invalid types, i.e. a primitive and a collection, or different collection types)
Implemented in plist::PrimitiveBase, plist::DictionaryOf< PO, Alloc >, plist::ArrayOf< PO, Alloc >, plist::DictionaryOf< ObjectBase >, and plist::ArrayOf< plist::Primitive< std::string > >.
template<typename T>
casting operator: return current value as specified type (throws std::runtime_error exception if bad cast, e.g. dictionary or array to value type) The implementation for this function is defined by a series of specializations. This allows you to add casts for additional user-defined types, as well as get compile time error if you attempt to cast to an unsupported type. (I really wish we had virtual templated functions...) Referenced by plist::Primitive< unsigned char >::operator=(), plist::Primitive< char >::operator=(), and plist::Primitive< bool >::operator=().
return current value as a string
Implemented in plist::PrimitiveBase, plist::DictionaryBase, and plist::ArrayBase. Referenced by plist::filteredDisplay(), and ConfigurationEditor::NewCollectionEntry::refresh().
return current value as an (long) integer (throws std::runtime_error exception if incompatable, e.g. dictionary or array to value type)
Implemented in plist::Collection, plist::Primitive< T >, plist::Primitive< char >, plist::Primitive< unsigned char >, plist::Primitive< std::string >, plist::NamedEnumeration< T >, plist::Primitive< float >, plist::Primitive< int >, plist::Primitive< unsigned int >, plist::Primitive< bool >, plist::NamedEnumeration< J_DCT_METHOD >, plist::NamedEnumeration< Config::vision_config::shutter_speeds >, plist::NamedEnumeration< Config::main_config::consoleMode_t >, plist::NamedEnumeration< Config::sound_config::volume_levels >, plist::NamedEnumeration< Config::vision_config::white_balance_levels >, plist::NamedEnumeration< Config::transports >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::encoding_t >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::compression_t >, plist::NamedEnumeration< Config::vision_config::SegCamConfig::compression_t >, and plist::NamedEnumeration< Config::vision_config::gain_levels >. Referenced by plist::NamedEnumeration< Config::vision_config::gain_levels >::operator=().
return current value as a double (throws std::runtime_error exception if incompatable, e.g. dictionary or array to value type)
Implemented in plist::Collection, plist::Primitive< T >, plist::Primitive< char >, plist::Primitive< unsigned char >, plist::Primitive< std::string >, plist::NamedEnumeration< T >, plist::Primitive< float >, plist::Primitive< int >, plist::Primitive< unsigned int >, plist::Primitive< bool >, plist::NamedEnumeration< J_DCT_METHOD >, plist::NamedEnumeration< Config::vision_config::shutter_speeds >, plist::NamedEnumeration< Config::main_config::consoleMode_t >, plist::NamedEnumeration< Config::sound_config::volume_levels >, plist::NamedEnumeration< Config::vision_config::white_balance_levels >, plist::NamedEnumeration< Config::transports >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::encoding_t >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::compression_t >, plist::NamedEnumeration< Config::vision_config::SegCamConfig::compression_t >, and plist::NamedEnumeration< Config::vision_config::gain_levels >.
subclasses are expected to provide a working implementation
Implements XMLLoadSave. Implemented in InstanceTracker< FamilyT, ClassNameT, FactoryBaseT, FactoryT >, plist::DictionaryBase, plist::ArrayBase, plist::Primitive< T >, plist::Primitive< char >, plist::Primitive< unsigned char >, plist::Primitive< std::string >, plist::NamedEnumeration< T >, plist::Primitive< float >, plist::Primitive< int >, plist::Primitive< unsigned int >, plist::Primitive< bool >, plist::NamedEnumeration< J_DCT_METHOD >, plist::NamedEnumeration< Config::vision_config::shutter_speeds >, plist::NamedEnumeration< Config::main_config::consoleMode_t >, plist::NamedEnumeration< Config::sound_config::volume_levels >, plist::NamedEnumeration< Config::vision_config::white_balance_levels >, plist::NamedEnumeration< Config::transports >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::encoding_t >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::compression_t >, plist::NamedEnumeration< Config::vision_config::SegCamConfig::compression_t >, and plist::NamedEnumeration< Config::vision_config::gain_levels >.
subclasses are expected to provide a working implementation
Implements XMLLoadSave. Implemented in plist::DictionaryBase, plist::ArrayBase, plist::Primitive< T >, plist::Primitive< char >, plist::Primitive< unsigned char >, plist::Primitive< std::string >, plist::NamedEnumeration< T >, plist::Primitive< float >, plist::Primitive< int >, plist::Primitive< unsigned int >, plist::Primitive< bool >, plist::NamedEnumeration< J_DCT_METHOD >, plist::NamedEnumeration< Config::vision_config::shutter_speeds >, plist::NamedEnumeration< Config::main_config::consoleMode_t >, plist::NamedEnumeration< Config::sound_config::volume_levels >, plist::NamedEnumeration< Config::vision_config::white_balance_levels >, plist::NamedEnumeration< Config::transports >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::encoding_t >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::compression_t >, plist::NamedEnumeration< Config::vision_config::SegCamConfig::compression_t >, and plist::NamedEnumeration< Config::vision_config::gain_levels >. Referenced by plist::DictionaryBase::saveXMLNode().
allows a copy to be made of an event, supporting polymorphism
Implements Cloneable. Implemented in plist::DictionaryOf< PO, Alloc >, plist::ArrayOf< PO, Alloc >, plist::Primitive< T >, plist::Primitive< char >, plist::Primitive< unsigned char >, plist::Primitive< std::string >, plist::NamedEnumeration< T >, plist::DictionaryOf< ObjectBase >, plist::ArrayOf< plist::Primitive< std::string > >, plist::Primitive< float >, plist::Primitive< int >, plist::Primitive< unsigned int >, plist::Primitive< bool >, plist::NamedEnumeration< J_DCT_METHOD >, plist::NamedEnumeration< Config::vision_config::shutter_speeds >, plist::NamedEnumeration< Config::main_config::consoleMode_t >, plist::NamedEnumeration< Config::sound_config::volume_levels >, plist::NamedEnumeration< Config::vision_config::white_balance_levels >, plist::NamedEnumeration< Config::transports >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::encoding_t >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::compression_t >, plist::NamedEnumeration< Config::vision_config::SegCamConfig::compression_t >, and plist::NamedEnumeration< Config::vision_config::gain_levels >.
polymorphic assignment operator, see assign() This is protected for two reasons: one, so you don't accidentally use it via simple '=' statement, and two, to avoid 'operator= was hidden' warnings in every base class (because they keep reintroducing their default operator=(), hiding/shadowing this one (if it were virtual, as it would need to be to take on the role filled by assign(). Definition at line 167 of file plistBase.h. Referenced by plist::Collection::operator=().
assigns a parse tree which you have obtained from some other source This doesn't update the contents of the subclass's values. The values in doc will be overwritten by those in the subclass on the next Save. If you wish to have the subclass's values updated from doc, call readParseTree() after calling this. Reimplemented from XMLLoadSave. Definition at line 17 of file plistBase.cc. returns the root element of the xml document
Reimplemented from XMLLoadSave. Definition at line 30 of file plistBase.cc.
returns true if the name of node matches name
Definition at line 65 of file plistBase.cc. Referenced by plist::NamedEnumeration< Config::vision_config::gain_levels >::loadXML(), plist::Primitive< T >::loadXML(), plist::Primitive< std::string >::loadXML(), plist::Primitive< unsigned char >::loadXML(), plist::Primitive< char >::loadXML(), plist::Primitive< bool >::loadXML(), plist::ArrayBase::loadXML(), plist::DictionaryBase::loadXML(), and plist::loadXML(). returns name of node (not a libxml function)
Definition at line 68 of file plistBase.cc. Referenced by plist::NamedEnumeration< Config::vision_config::gain_levels >::loadXML(), plist::Primitive< T >::loadXML(), plist::Primitive< std::string >::loadXML(), plist::ArrayBase::loadXML(), and plist::DictionaryBase::loadXML(). returns children of node (not a libxml function)
Definition at line 71 of file plistBase.cc. Referenced by plist::ArrayBase::loadXML(), and plist::ArrayBase::saveXML(). returns last child of node (not a libxml function)
Definition at line 74 of file plistBase.cc. Referenced by OutputConfig< T >::saveXML(). returns next node (sibling) after node (not a libxml function)
Definition at line 77 of file plistBase.cc. Referenced by plist::ArrayBase::loadXML(), plist::ArrayBase::saveXML(), and plist::DictionaryBase::saveXML(). returns previous node (sibling) before node (not a libxml function)
Definition at line 80 of file plistBase.cc.
returns true if node is an XML_TEXT_NODE (not a libxml function)
Definition at line 89 of file plistBase.cc. Referenced by plist::DictionaryBase::saveOverXMLNode(), and OutputConfig< T >::saveXML().
returns true if node is an XML_ELEMENT_NODE (not a libxml function)
Definition at line 92 of file plistBase.cc.
returns true if node is an XML_COMMENT_NODE (not a libxml function)
Definition at line 95 of file plistBase.cc.
returns true if str is some form of affirmative (e.g. "true" or "yes")
Definition at line 190 of file plistBase.h. Referenced by plist::Primitive< T >::set(), plist::Primitive< unsigned char >::set(), plist::Primitive< char >::set(), and plist::Primitive< bool >::set().
returns true if str is some form of negative (e.g. "false" or "no")
Definition at line 192 of file plistBase.h. Referenced by plist::Primitive< T >::set(), plist::Primitive< unsigned char >::set(), plist::Primitive< char >::set(), and plist::Primitive< bool >::set().
Friends And Related Function Documentation
From the name of node, will instantiate a new ObjectBase subclass to load it. The mapping from node names to actual instantiated types is:
If successful, returns a pointer to a newly allocated region, which the caller is responsible for freeing. If an error occurs, NULL is returned. Implements XMLLoadSave. Reimplemented in InstanceTracker< FamilyT, ClassNameT, FactoryBaseT, FactoryT >, plist::DictionaryBase, plist::ArrayBase, plist::Primitive< T >, plist::Primitive< char >, plist::Primitive< unsigned char >, plist::Primitive< std::string >, plist::NamedEnumeration< T >, plist::Primitive< float >, plist::Primitive< int >, plist::Primitive< unsigned int >, plist::Primitive< bool >, plist::NamedEnumeration< J_DCT_METHOD >, plist::NamedEnumeration< Config::vision_config::shutter_speeds >, plist::NamedEnumeration< Config::main_config::consoleMode_t >, plist::NamedEnumeration< Config::sound_config::volume_levels >, plist::NamedEnumeration< Config::vision_config::white_balance_levels >, plist::NamedEnumeration< Config::transports >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::encoding_t >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::compression_t >, plist::NamedEnumeration< Config::vision_config::SegCamConfig::compression_t >, and plist::NamedEnumeration< Config::vision_config::gain_levels >. Definition at line 7 of file plist.cc. Referenced by plist::loadXML().
The documentation for this class was generated from the following files: |
Tekkotsu v4.0 |
Generated Thu Nov 22 00:58:52 2007 by Doxygen 1.5.4 |