Sleeping Wombat Common Library
0.50.0
swCommonLibrary
|
Deklaracja klasy deserializatora. More...
#include "swCommonLib/Common/TypesDefinitions.h"
#include "swCommonLib/Serialization/ISerializationContext.h"
#include "swCommonLib/Serialization/FilePosition.h"
#include <string>
#include <memory>
Go to the source code of this file.
Classes | |
class | IDeserializer |
Interface for deserializers. More... | |
Enumerations | |
enum | ParsingMode { ParsingMode::ParseInsitu, ParsingMode::AllocStrings } |
Parsing modes. Serialization. More... | |
Deklaracja klasy deserializatora.
|
strong |
Parsing modes. Serialization.
Parsowanie insitu powoduje zapisanie całego parsowanego dokumentu w pamięci deserializatora. Nowe stringi nie są alokowane, a zapisywane są wskażniki do tego dokumentu. Metoda prawdopodobnie zajmie więcej pamięci niż w przypadku alokowania, ponieważ przechowywane są również nadmiarowe białe znaki i wszystkie niepotrzebne elementy. Zaletą jest za to unikanie alokacji, co powinno przypsieszyć działanie.
AllocString usuwa cały dokument z pamięci po sparsowaniu. Metoda działa wolniej, ale za to przechowuje tylko to co potrzebne. Wskazaniem do użycia są przypadki, gdy deserializator służy nie tylko do jednokrotnego parsowania, ale również przechowywania danych.
Enumerator | |
---|---|
ParseInsitu |
Nie alokuje stringów, ale zapisuje sobie wskaźniki na miejsca w parsowanym tekście. |
AllocStrings |
Przy parsowaniu alokuje nowe stringi. |