Added state::get_XXXX_or_default(axis_name, default_value)

This commit is contained in:
Allison Vacanti
2021-03-16 14:36:20 -04:00
parent 60c94d9ed6
commit 56414078ea
3 changed files with 56 additions and 0 deletions

View File

@@ -60,16 +60,52 @@ nvbench::int64_t state::get_int64(const std::string &axis_name) const
return m_axis_values.get_int64(axis_name);
}
nvbench::int64_t
state::get_int64_or_default(const std::string &axis_name,
nvbench::int64_t default_value) const
try
{
return this->get_int64(axis_name);
}
catch (...)
{
return default_value;
}
nvbench::float64_t state::get_float64(const std::string &axis_name) const
{
return m_axis_values.get_float64(axis_name);
}
nvbench::float64_t
state::get_float64_or_default(const std::string &axis_name,
nvbench::float64_t default_value) const
try
{
return this->get_float64(axis_name);
}
catch (...)
{
return default_value;
}
const std::string &state::get_string(const std::string &axis_name) const
{
return m_axis_values.get_string(axis_name);
}
const std::string &
state::get_string_or_default(const std::string &axis_name,
const std::string &default_value) const
try
{
return this->get_string(axis_name);
}
catch (...)
{
return default_value;
}
summary &state::add_summary(std::string summary_name)
{
return m_summaries.emplace_back(std::move(summary_name));

View File

@@ -77,12 +77,21 @@ struct state
}
[[nodiscard]] nvbench::int64_t get_int64(const std::string &axis_name) const;
[[nodiscard]] nvbench::int64_t
get_int64_or_default(const std::string &axis_name,
nvbench::int64_t default_value) const;
[[nodiscard]] nvbench::float64_t
get_float64(const std::string &axis_name) const;
[[nodiscard]] nvbench::float64_t
get_float64_or_default(const std::string &axis_name,
nvbench::float64_t default_value) const;
[[nodiscard]] const std::string &
get_string(const std::string &axis_name) const;
[[nodiscard]] const std::string &
get_string_or_default(const std::string &axis_name,
const std::string &default_value) const;
void add_element_count(std::size_t elements, std::string column_name = {});

View File

@@ -98,8 +98,19 @@ void test_summaries()
ASSERT(state.get_summary("Test Summary2").get_size() == 0);
}
void test_defaults()
{
dummy_bench bench;
state_tester state{bench};
ASSERT(state.get_int64_or_default("Foo", 42) == 42);
ASSERT(state.get_float64_or_default("Baz", 42.4) == 42.4);
ASSERT(state.get_string_or_default("Bar", "Kramble") == "Kramble");
}
int main()
{
test_params();
test_summaries();
test_defaults();
}