|
|
| XMLInputArchive (Context *context, XMLElement element, const XMLFile *xmlFile=nullptr, bool serializeRootName=false) |
| | Construct from element.
|
| |
|
| XMLInputArchive (const XMLFile *xmlFile) |
| | Construct from file.
|
| |
|
| void | BeginBlock (const char *name, unsigned &sizeHint, bool safe, ArchiveBlockType type) final |
| |
| void | Serialize (const char *name, bool &value) final |
| |
| void | Serialize (const char *name, signed char &value) final |
| |
| void | Serialize (const char *name, unsigned char &value) final |
| |
| void | Serialize (const char *name, short &value) final |
| |
| void | Serialize (const char *name, unsigned short &value) final |
| |
| void | Serialize (const char *name, int &value) final |
| |
| void | Serialize (const char *name, unsigned int &value) final |
| |
| void | Serialize (const char *name, long long &value) final |
| |
| void | Serialize (const char *name, unsigned long long &value) final |
| |
| void | Serialize (const char *name, float &value) final |
| |
| void | Serialize (const char *name, double &value) final |
| |
| void | Serialize (const char *name, ea::string &value) final |
| |
| void | SerializeBytes (const char *name, void *bytes, unsigned size) final |
| | Serialize bytes. Size is not encoded and should be provided externally!
|
| |
| void | SerializeVLE (const char *name, unsigned &value) final |
| | Serialize Variable Length Encoded unsigned integer, up to 29 significant bits.
|
| |
| ea::string_view | GetName () const |
| | Return name of the archive if applicable.
|
| |
| bool | IsInput () const final |
| |
| bool | IsHumanReadable () const final |
| |
| bool | IsUnorderedAccessSupportedInCurrentBlock () const final |
| |
| bool | HasElementOrBlock (const char *name) const final |
| |
| ea::string | GetCurrentBlockPath () const final |
| | Return current string stack.
|
| |
| void | EndBlock () noexcept override |
| | End archive block. May postpone ArchiveException until later.
|
| |
| Context * | GetContext () final |
| | Get context.
|
| |
| unsigned | GetChecksum () override |
| | Return a checksum if applicable.
|
| |
| bool | IsEOF () const final |
| | Whether the archive can no longer be serialized.
|
| |
| void | Flush () final |
| | Flush all pending events. Should be called at least once before destructor.
|
| |
| unsigned | SerializeVersion (unsigned version) final |
| | Serialize version number. 0 is invalid version.
|
| |
|
ArchiveException | IOFailureException (ea::string_view elementName) const |
| |
|
ArchiveException | DuplicateElementException (ea::string_view elementName) const |
| |
|
ArchiveException | ElementNotFoundException (ea::string_view elementName) const |
| |
|
ArchiveException | ElementNotFoundException (ea::string_view elementName, unsigned elementIndex) const |
| |
|
ArchiveException | UnexpectedElementValueException (ea::string_view elementName) const |
| |
|
ArchiveException | UnexpectedEOFException (ea::string_view elementName) const |
| |
| ArchiveBlock | OpenBlock (const char *name, unsigned sizeHint, bool safe, ArchiveBlockType type) |
| |
| ArchiveBlock | OpenSequentialBlock (const char *name) |
| | Open Sequential block. Will be automatically closed when returned object is destroyed.
|
| |
|
ArchiveBlock | OpenUnorderedBlock (const char *name) |
| | Open Unordered block. Will be automatically closed when returned object is destroyed.
|
| |
|
ArchiveBlock | OpenArrayBlock (const char *name, unsigned sizeHint=0) |
| | Open Array block. Will be automatically closed when returned object is destroyed.
|
| |
|
ArchiveBlock | OpenSafeSequentialBlock (const char *name) |
| | Open safe Sequential block. Will be automatically closed when returned object is destroyed.
|
| |
|
ArchiveBlock | OpenSafeUnorderedBlock (const char *name) |
| | Open safe Unordered block. Will be automatically closed when returned object is destroyed.
|
| |
|
|
static bool | ValidateName (ea::string_view name) |
| | Validate element or block name.
|
| |
|
using | Block = BlockType |
| |
|
| XMLArchiveBase (Context *context, XMLElement element, const XMLFile *xmlFile, bool serializeRootName) |
| |
|
Block & | GetCurrentBlock () |
| |
|
const Block & | GetCurrentBlock () const |
| |
|
void | CheckIfRootBlockOpen () const |
| |
|
void | CheckBeforeBlock (const char *elementName) |
| |
|
void | CheckBeforeElement (const char *elementName) |
| |
|
| ArchiveBase (Context *context) |
| |
|
| ArchiveBase (Context *context) |
| |
|
void | SetDelayedException (std::exception_ptr ptr) |
| |
|
void | FlushDelayedException () |
| |
|
void | CheckIfNotEOF (ea::string_view elementName) const |
| |
|
void | CheckBlockOrElementName (ea::string_view elementName) const |
| |
|
void | CloseArchive () |
| |
|
void | ReadBytesFromHexString (ea::string_view elementName, const ea::string &string, void *bytes, unsigned size) |
| |
|
| MovableNonCopyable (MovableNonCopyable &&other)=default |
| |
|
MovableNonCopyable & | operator= (MovableNonCopyable &&other)=default |
| |
| | MovableNonCopyable (const MovableNonCopyable &other)=delete |
| |
|
MovableNonCopyable & | operator= (const MovableNonCopyable &other)=delete |
| |
|
XMLElement | rootElement_ |
| |
|
const bool | serializeRootName_ |
| |
|
ea::vector< Block > | stack_ |
| |
|
static constexpr const char * | rootBlockName = "Root" |
| |
|
static constexpr const char * | versionElementName = "Version" |
| |