treewide: comply with the OpenBMC style guidelines
The guidelines say cpp source code filenames should be lower_snake_case:
https://github.com/openbmc/docs/blob/master/cpp-style-and-conventions.md#files
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Change-Id: Ia04017b0eb9a65ce1303af5b6dc36e730410fd91
diff --git a/include/variant_visitors.hpp b/include/variant_visitors.hpp
new file mode 100644
index 0000000..87ae750
--- /dev/null
+++ b/include/variant_visitors.hpp
@@ -0,0 +1,51 @@
+/*
+// Copyright (c) 2019 Intel Corporation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+*/
+/// \file variant_visitors.hpp
+
+#pragma once
+#include <stdexcept>
+#include <string>
+#include <variant>
+
+struct VariantToIntVisitor
+{
+ template <typename T>
+ int operator()(const T& t) const
+ {
+ if constexpr (std::is_arithmetic_v<T>)
+ {
+ return static_cast<int>(t);
+ }
+ throw std::invalid_argument("Cannot translate type to int");
+ }
+};
+
+struct VariantToStringVisitor
+{
+ template <typename T>
+ std::string operator()(const T& t) const
+ {
+ if constexpr (std::is_same_v<T, std::string>)
+ {
+ return t;
+ }
+ else if constexpr (std::is_arithmetic_v<T>)
+ {
+ return std::to_string(t);
+ }
+ throw std::invalid_argument("Cannot translate type to string");
+ }
+};