api2021 part I #4

Merged
tomasz.sowa merged 67 commits from api2021 into master 2021-05-27 10:37:36 +02:00
2 changed files with 43 additions and 6 deletions
Showing only changes of commit 77d7bb5e64 - Show all commits

View File

@ -187,24 +187,53 @@ void Space::set_null()
initialize_value_null_if_needed();
}
void Space::set_empty_string()
{
initialize_value_string_if_needed();
if( type == type_string )
{
value.value_string.clear();
}
else
{
initialize_value_string_if_needed();
}
}
void Space::set_empty_wstring()
{
initialize_value_wstring_if_needed();
if( type == type_wstring )
{
value.value_wstring.clear();
}
else
{
initialize_value_wstring_if_needed();
}
}
void Space::set_empty_table()
{
initialize_value_table_if_needed();
if( type == type_table )
{
value.value_table.clear();
}
else
{
initialize_value_table_if_needed();
}
}
void Space::set_empty_object()
{
initialize_value_object_if_needed();
if( type == type_object )
{
value.value_object.clear();
}
else
{
initialize_value_object_if_needed();
}
}
@ -1542,6 +1571,11 @@ const Space * Space::get_object_field(const wchar_t * field) const
}
Space * Space::get_object_field(const std::wstring & field)
{
return get_object_field(field.c_str());
}
const Space * Space::get_object_field(const std::wstring & field) const
{
return get_object_field(field.c_str());

View File

@ -430,6 +430,11 @@ public:
// getters from object
Space * get_object_field(const wchar_t * field); // may a better name?
const Space * get_object_field(const wchar_t * field) const; // may a better name?
Space * get_object_field(const std::wstring & field);
const Space * get_object_field(const std::wstring & field) const; // may a better name?
bool * get_bool(const wchar_t * field);
long long * get_llong(const wchar_t * field);
long long * get_long_long(const wchar_t * field);
@ -455,8 +460,6 @@ public:
bool has_key(const wchar_t * field) const; // may has_key() would be a better name?
bool has_key(const std::wstring & field) const;
const Space * get_object_field(const wchar_t * field) const; // may a better name?
const Space * get_object_field(const std::wstring & field) const; // may a better name?
const bool * get_bool(const wchar_t * field) const;
const long long * get_llong(const wchar_t * field) const;