![]() |
Inviwo
0.9.10.1
Inviwo documentation
|
Inheritance diagram for inviwo::Deserializer:Public Member Functions | |
| Deserializer (std::string fileName, bool allowReference=true) | |
| Deserializer constructor. More... | |
| Deserializer (std::istream &stream, const std::string &refPath, bool allowReference=true) | |
| Deserializes content from the stream using refPath to calculate relative paths to data. More... | |
| Deserializer (const Deserializer &)=delete | |
| Deserializer (Deserializer &&)=default | |
| Deserializer & | operator= (const Deserializer &that)=delete |
| Deserializer & | operator= (Deserializer &&that)=default |
| template<typename T > | |
| void | deserialize (const std::string &key, std::vector< T * > &sVector, const std::string &itemKey="item") |
| Deserialize a vector. More... | |
| template<typename T , typename C > | |
| void | deserialize (const std::string &key, std::vector< T * > &sVector, const std::string &itemKey, C identifier) |
| template<typename T > | |
| void | deserialize (const std::string &key, std::vector< T > &sVector, const std::string &itemKey="item") |
| template<typename T > | |
| void | deserialize (const std::string &key, std::unordered_set< T > &sSet, const std::string &itemKey="item") |
| template<typename T > | |
| void | deserialize (const std::string &key, std::vector< std::unique_ptr< T >> &vector, const std::string &itemKey="item") |
| template<typename T > | |
| void | deserialize (const std::string &key, std::list< T > &sContainer, const std::string &itemKey="item") |
| template<typename K , typename V , typename C , typename A > | |
| void | deserialize (const std::string &key, std::map< K, V, C, A > &sMap, const std::string &itemKey="item", const std::string &comparisionAttribute=SerializeConstants::KeyAttribute) |
| Deserialize a map. More... | |
| template<typename K , typename V , typename C , typename A > | |
| void | deserialize (const std::string &key, std::map< K, V *, C, A > &sMap, const std::string &itemKey="item", const std::string &comparisionAttribute=SerializeConstants::KeyAttribute) |
| template<typename K , typename V , typename C , typename A > | |
| void | deserialize (const std::string &key, std::map< K, std::unique_ptr< V >, C, A > &sMap, const std::string &itemKey="item", const std::string &comparisionAttribute=SerializeConstants::KeyAttribute) |
| template<typename T , typename K > | |
| void | deserialize (const std::string &key, ContainerWrapper< T, K > &container) |
| void | deserialize (const std::string &key, signed char &data, const SerializationTarget &target=SerializationTarget::Node) |
| void | deserialize (const std::string &key, char &data, const SerializationTarget &target=SerializationTarget::Node) |
| void | deserialize (const std::string &key, unsigned char &data, const SerializationTarget &target=SerializationTarget::Node) |
| template<typename T , typename std::enable_if< std::is_integral< T >::value||util::is_floating_point< T >::value||util::is_string< T >::value, int >::type = 0> | |
| void | deserialize (const std::string &key, T &data, const SerializationTarget &target=SerializationTarget::Node) |
| template<typename T , typename std::enable_if< std::is_enum< T >::value, int >::type = 0> | |
| void | deserialize (const std::string &key, T &data, const SerializationTarget &target=SerializationTarget::Node) |
| template<typename T > | |
| void | deserialize (const std::string &key, flags::flags< T > &data, const SerializationTarget &target=SerializationTarget::Node) |
| template<typename Vec , typename std::enable_if< util::rank< Vec >::value==1, int >::type = 0> | |
| void | deserialize (const std::string &key, Vec &data) |
| template<typename Mat , typename std::enable_if< util::rank< Mat >::value==2, int >::type = 0> | |
| void | deserialize (const std::string &key, Mat &data) |
| template<unsigned N> | |
| void | deserialize (const std::string &key, std::bitset< N > &bits) |
| void | deserialize (const std::string &key, Serializable &sObj) |
| Deserialize any Serializable object. | |
| template<class T > | |
| void | deserialize (const std::string &key, T *&data) |
| Deserialize pointer data of type T, which is of type serializable object or primitive data. | |
| template<class Base , class T > | |
| void | deserializeAs (const std::string &key, T *&data) |
| template<class T , class D > | |
| void | deserialize (const std::string &key, std::unique_ptr< T, D > &data) |
| template<class Base , class T , class D > | |
| void | deserializeAs (const std::string &key, std::unique_ptr< T, D > &data) |
| void | setExceptionHandler (ExceptionHandler handler) |
| void | handleError (const ExceptionContext &context) |
| void | convertVersion (VersionConverter *converter) |
| template<typename T > | |
| T * | getRegisteredType (const std::string &className) |
| For allocating objects such as processors, properties.. using registered factories. More... | |
| template<typename T > | |
| T * | getNonRegisteredType () |
| For allocating objects that do not belong to any registered factories. More... | |
| void | registerFactory (FactoryBase *factory) |
| int | getInviwoWorkspaceVersion () const |
Public Member Functions inherited from inviwo::SerializeBase | |
| SerializeBase (bool allowReference=true) | |
| Base class for Serializer and Deserializer. More... | |
| SerializeBase (std::string fileName, bool allowReference=true) | |
| Base class for Serializer and Deserializer. More... | |
| SerializeBase (std::istream &stream, const std::string &path, bool allowReference=true) | |
| Base class for Serializer and Deserializer. More... | |
| SerializeBase (const SerializeBase &rhs)=delete | |
| SerializeBase (SerializeBase &&rhs)=default | |
| SerializeBase & | operator= (const SerializeBase &)=delete |
| SerializeBase & | operator= (SerializeBase &&)=default |
| virtual const std::string & | getFileName () const |
| gets the xml file name. | |
| bool | isPrimitiveType (const std::type_info &type) const |
| Checks whether the given type is a primitive type. More... | |
Public Member Functions inherited from inviwo::LogFilter | |
| LogFilter (Logger *logger=LogCentral::getPtr()) | |
| LogFilter (Logger *logger, LogVerbosity verbosity) | |
| void | setVerbosity (LogVerbosity verbosity) |
| LogVerbosity | getVerbosity () |
| void | setLogger (Logger *logger) |
| Logger * | getLogger () const |
| virtual void | log (std::string logSource, LogLevel level, LogAudience audience, const char *file, const char *function, int line, std::string msg) override |
| virtual void | logProcessor (Processor *processor, LogLevel level, LogAudience audience, std::string msg, const char *file, const char *function, int line) override |
| virtual void | logNetwork (LogLevel level, LogAudience audience, std::string msg, const char *file, const char *function, int line) override |
Public Member Functions inherited from inviwo::Logger | |
| virtual void | logAssertion (const char *file, const char *function, int line, std::string msg) |
Friends | |
| class | NodeSwitch |
| template<typename T , typename K > | |
| class | ContainerWrapper |
Additional Inherited Members | |
Public Types inherited from inviwo::SerializeBase | |
| using | RefDataPair = std::pair< const void *, SerializeBase::ReferenceData > |
| using | RefMap = std::multimap< const void *, ReferenceData > |
Static Public Member Functions inherited from inviwo::SerializeBase | |
| static std::string | nodeToString (const TxElement &node) |
Protected Attributes inherited from inviwo::SerializeBase | |
| std::string | fileName_ |
| TxDocument | doc_ |
| TxElement * | rootElement_ |
| bool | allowRef_ |
| bool | retrieveChild_ |
| ReferenceDataContainer | refDataContainer_ |
| inviwo::Deserializer::Deserializer | ( | std::string | fileName, |
| bool | allowReference = true |
||
| ) |
Deserializer constructor.
| fileName | path to file that is to be deserialized. |
| allowReference | flag to manage references to avoid multiple object creation. |
| inviwo::Deserializer::Deserializer | ( | std::istream & | stream, |
| const std::string & | refPath, | ||
| bool | allowReference = true |
||
| ) |
Deserializes content from the stream using refPath to calculate relative paths to data.
| stream | Stream with content that is to be deserialized. |
| refPath | A path that will be used to decode the location of data during deserialization. |
| allowReference | flag to manage references to avoid multiple object creation. |
| void inviwo::Deserializer::deserialize | ( | const std::string & | key, |
| std::vector< T * > & | sVector, | ||
| const std::string & | itemKey = "item" |
||
| ) |
Deserialize a vector.
Deserialize the vector that has pre-allocated objects of type T or allocated by deserializer. A vector is identified by key and vector items are identified by itemKey
eg. xml tree with key=Properties and itemKey=Property
<Properties>
<Property identifier="enableMIP" displayName="MIP">
<value content="0" />
</Property>
<Property identifier="enableShading" displayName="Shading">
<value content="0" />
</Property>
<Properties>
| key | vector key. |
| sVector | vector to be deserialized. |
| itemKey | vector item key |
| void inviwo::Deserializer::deserialize | ( | const std::string & | key, |
| std::map< K, V, C, A > & | sMap, | ||
| const std::string & | itemKey = "item", |
||
| const std::string & | comparisionAttribute = SerializeConstants::KeyAttribute |
||
| ) |
Deserialize a map.
Deserialize a map, which can have keys of type K, values of type V* (pointers) and compare function C ( optional if K primitive type, i.e., std::string, int, etc.,) eg., std::map<std::string, Property*>
eg. xml tree
In the above xml tree,
key = "Properties" itemKey = "Property" param comparisionAttribute = "identifier" param sMap["enableMIP"] = address of a property sMap["enableShading"] = address of a property where, "enableMIP" & "enableShading" are keys. address of a property is a value
Note: If children has attribute "type", then comparisionAttribute becomes meaningless. Because deserializer always allocates a new instance of type using registered factories. eg., <Processor type="EntryExitPoints" identifier="EntryExitPoints" reference="ref2">
| key | Map key or parent node of itemKey. |
| sMap | map to be deserialized - source / input map. |
| itemKey | map item key of children nodes. |
| comparisionAttribute | forced comparison attribute. |
| T * inviwo::Deserializer::getNonRegisteredType | ( | ) |
For allocating objects that do not belong to any registered factories.
| T * inviwo::Deserializer::getRegisteredType | ( | const std::string & | className | ) |
For allocating objects such as processors, properties.. using registered factories.
| className | is used by registered factories to allocate the required object. |