11#ifndef __AUDACITY_PROJECTSERIALIZER__
12#define __AUDACITY_PROJECTSERIALIZER__
16#include "MemoryStream.h"
17#include <wx/mstream.h>
19#include <unordered_set>
20#include <unordered_map>
32using NameMap = std::unordered_map<wxString, unsigned short>;
33using IdMap = std::unordered_map<unsigned short, std::string>;
48 void WriteAttr(
const wxString &
name,
const wxString &value)
override;
49 void WriteAttr(
const wxString &
name,
const wxChar *value)
override;
54 void WriteAttr(
const wxString &
name,
long long value)
override;
56 void WriteAttr(
const wxString &
name,
float value,
int digits = -1)
override;
57 void WriteAttr(
const wxString &
name,
double value,
int digits = -1)
override;
59 void WriteData(
const wxString & value)
override;
60 void Write(
const wxString & data)
override;
66 bool DictChanged()
const;
72 void WriteName(
const wxString&
name);
std::unordered_map< unsigned short, std::string > IdMap
std::unordered_map< wxString, unsigned short > NameMap
A facade-like class, that implements buffered reading from the underlying data stream.
A low overhead memory stream with O(1) append, low heap fragmentation and a linear memory view.
a class used to (de)serialize the project catalog
static MemoryStream mDict
Holds a msgid for the translation catalog; may also bind format arguments.
This class is an interface which should be implemented by classes which wish to be able to load and s...
Base class for XMLFileWriter and XMLStringWriter that provides the general functionality for creating...
virtual void WriteData(const wxString &value)
virtual void StartTag(const wxString &name)
void WriteAttr(const wxString &name, const Identifier &value)
virtual void EndTag(const wxString &name)
virtual void Write(const wxString &data)=0
STRINGS_API int Decode(const wxString &in, void *out)
AuthorizationHandler handler