some work in Space API:

added: new GetValue() implementation
       Value * GetValue(const wchar_t * name)
       Value * GetValue(const std::wstring & name)
       const Value * GetValue(const wchar_t * name) const
       const Value * GetValue(const std::wstring & name) const
added: const correctness for Text() and TextA() methods
       std::wstring Text(...) const;
       std::string TextA(...) const;
added: TextA() with a wide second argument
       std::string TextA(const wchar_t * name, const wchar_t * def) const;
       std::string TextA(const std::wstring & name, const wchar_t * def) const;
       std::string TextA(const std::wstring & name, const std::wstring & def) const;
       




git-svn-id: svn://ttmath.org/publicrep/pikotools/trunk@1067 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2017-12-07 11:35:12 +00:00
parent 7d51372844
commit e24112b79b
2 changed files with 108 additions and 22 deletions

View File

@@ -180,6 +180,10 @@ public:
Space(const Space & s);
Space & operator=(const Space & s);
// IMPROVE ME
// add move cctor
void Clear();
@@ -231,13 +235,13 @@ public:
AText(...) always returns a reference to UTF-8 string
*/
std::wstring Text(const wchar_t * name);
std::wstring Text(const wchar_t * name, const wchar_t * def);
std::wstring Text(const std::wstring & name, const wchar_t * def);
std::wstring Text(const std::wstring & name, const std::wstring & def);
std::wstring Text(const wchar_t * name) const;
std::wstring Text(const wchar_t * name, const wchar_t * def) const;
std::wstring Text(const std::wstring & name, const wchar_t * def) const;
std::wstring Text(const std::wstring & name, const std::wstring & def) const;
// returns a reference
// if there is no such an option then a new one is inserted
// if there is no such an option then a new one (def value) is inserted
std::wstring & TextRef(const wchar_t * name);
std::wstring & TextRef(const wchar_t * name, const wchar_t * def);
std::wstring & TextRef(const std::wstring & name, const wchar_t * def);
@@ -245,10 +249,15 @@ public:
// returns UTF-8 string
std::string TextA(const wchar_t * name);
std::string TextA(const wchar_t * name, const char * def);
std::string TextA(const std::wstring & name, const char * def);
std::string TextA(const std::wstring & name, const std::string & def);
std::string TextA(const wchar_t * name) const;
std::string TextA(const wchar_t * name, const char * def) const;
std::string TextA(const std::wstring & name, const char * def) const;
std::string TextA(const std::wstring & name, const std::string & def) const;
std::string TextA(const wchar_t * name, const wchar_t * def) const;
std::string TextA(const std::wstring & name, const wchar_t * def) const;
std::string TextA(const std::wstring & name, const std::wstring & def) const;
int Int(const wchar_t * name, int def = 0);