some work in Space
- default value returned from TextRef() git-svn-id: svn://ttmath.org/publicrep/pikotools/trunk@1083 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
parent
c910e22c00
commit
dc0cd13178
|
@ -5,7 +5,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2008-2017, Tomasz Sowa
|
* Copyright (c) 2008-2018, Tomasz Sowa
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -240,11 +240,11 @@ return false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::wstring Space::Text(const wchar_t * name) const
|
//std::wstring Space::Text(const wchar_t * name) const
|
||||||
{
|
//{
|
||||||
tmp_name = name;
|
// tmp_name = name;
|
||||||
return Text(tmp_name, L"");
|
// return Text(tmp_name, L"");
|
||||||
}
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -265,7 +265,10 @@ std::wstring Space::Text(const std::wstring & name, const wchar_t * def) const
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if( def )
|
||||||
return std::wstring(def);
|
return std::wstring(def);
|
||||||
|
else
|
||||||
|
return std::wstring();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -287,11 +290,11 @@ std::wstring Space::Text(const std::wstring & name, const std::wstring & def) co
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::wstring & Space::TextRef(const wchar_t * name)
|
//std::wstring & Space::TextRef(const wchar_t * name)
|
||||||
{
|
//{
|
||||||
tmp_name = name;
|
// tmp_name = name;
|
||||||
return TextRef(tmp_name, L"");
|
// return TextRef(tmp_name, L"");
|
||||||
}
|
//}
|
||||||
|
|
||||||
|
|
||||||
std::wstring & Space::TextRef(const wchar_t * name, const wchar_t * def)
|
std::wstring & Space::TextRef(const wchar_t * name, const wchar_t * def)
|
||||||
|
@ -302,25 +305,27 @@ std::wstring & Space::TextRef(const wchar_t * name, const wchar_t * def)
|
||||||
|
|
||||||
std::wstring & Space::TextRef(const std::wstring & name, const wchar_t * def)
|
std::wstring & Space::TextRef(const std::wstring & name, const wchar_t * def)
|
||||||
{
|
{
|
||||||
|
Value * value;
|
||||||
Table::iterator t = table.find(name);
|
Table::iterator t = table.find(name);
|
||||||
|
|
||||||
if( t == table.end() )
|
if( t != table.end() )
|
||||||
{
|
{
|
||||||
Value & v = table[name];
|
value = &t->second;
|
||||||
v.push_back(def);
|
|
||||||
return v[0];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
if( t->second.empty() )
|
|
||||||
{
|
|
||||||
Value & v = t->second;
|
|
||||||
v.push_back(def);
|
|
||||||
return v[0];
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return t->second[0];
|
value = &table[name];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( value->empty() )
|
||||||
|
{
|
||||||
|
if( def )
|
||||||
|
value->push_back(def);
|
||||||
|
else
|
||||||
|
value->push_back(std::wstring());
|
||||||
|
}
|
||||||
|
|
||||||
|
return (*value)[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -332,11 +337,11 @@ std::wstring & Space::TextRef(const std::wstring & name, const std::wstring & de
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::string Space::TextA(const wchar_t * name) const
|
//std::string Space::TextA(const wchar_t * name) const
|
||||||
{
|
//{
|
||||||
tmp_name = name;
|
// tmp_name = name;
|
||||||
return TextA(tmp_name, "");
|
// return TextA(tmp_name, "");
|
||||||
}
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -359,7 +364,10 @@ std::string Space::TextA(const std::wstring & name, const char * def) const
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return def;
|
if( def )
|
||||||
|
return std::string(def);
|
||||||
|
else
|
||||||
|
return std::string();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2010-2017, Tomasz Sowa
|
* Copyright (c) 2010-2018, Tomasz Sowa
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -239,21 +239,21 @@ public:
|
||||||
|
|
||||||
AText(...) always returns a reference to UTF-8 string
|
AText(...) always returns a reference to UTF-8 string
|
||||||
*/
|
*/
|
||||||
std::wstring Text(const wchar_t * name) const;
|
//std::wstring Text(const wchar_t * name) const;
|
||||||
std::wstring Text(const wchar_t * name, const wchar_t * def) const;
|
std::wstring Text(const wchar_t * name, const wchar_t * def = 0) const;
|
||||||
std::wstring Text(const std::wstring & name, const wchar_t * def) const;
|
std::wstring Text(const std::wstring & name, const wchar_t * def = 0) const;
|
||||||
std::wstring Text(const std::wstring & name, const std::wstring & def) const;
|
std::wstring Text(const std::wstring & name, const std::wstring & def) const;
|
||||||
|
|
||||||
// returns a reference
|
// returns a reference
|
||||||
// if there is no such an option then a new one (def value) 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);
|
||||||
std::wstring & TextRef(const wchar_t * name, const wchar_t * def);
|
std::wstring & TextRef(const wchar_t * name, const wchar_t * def = 0);
|
||||||
std::wstring & TextRef(const std::wstring & name, const wchar_t * def);
|
std::wstring & TextRef(const std::wstring & name, const wchar_t * def = 0);
|
||||||
std::wstring & TextRef(const std::wstring & name, const std::wstring & def);
|
std::wstring & TextRef(const std::wstring & name, const std::wstring & def);
|
||||||
|
|
||||||
|
|
||||||
// returns UTF-8 string
|
// returns UTF-8 string
|
||||||
std::string TextA(const wchar_t * name) const;
|
//std::string TextA(const wchar_t * name) const;
|
||||||
std::string TextA(const wchar_t * name, const char * def) 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 char * def) const;
|
||||||
std::string TextA(const std::wstring & name, const std::string & def) const;
|
std::string TextA(const std::wstring & name, const std::string & def) const;
|
||||||
|
|
Loading…
Reference in New Issue