Horizon
adl_serializer.hpp
1 #pragma once
2 
3 #include <utility>
4 
5 #include <nlohmann/detail/conversions/from_json.hpp>
6 #include <nlohmann/detail/conversions/to_json.hpp>
7 
8 namespace nlohmann
9 {
10 
11 template<typename, typename>
12 struct adl_serializer
13 {
23  template<typename BasicJsonType, typename ValueType>
24  static auto from_json(BasicJsonType&& j, ValueType& val) noexcept(
25  noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j), val)))
26  -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j), val), void())
27  {
28  ::nlohmann::from_json(std::forward<BasicJsonType>(j), val);
29  }
30 
40  template <typename BasicJsonType, typename ValueType>
41  static auto to_json(BasicJsonType& j, ValueType&& val) noexcept(
42  noexcept(::nlohmann::to_json(j, std::forward<ValueType>(val))))
43  -> decltype(::nlohmann::to_json(j, std::forward<ValueType>(val)), void())
44  {
45  ::nlohmann::to_json(j, std::forward<ValueType>(val));
46  }
47 };
48 
49 } // namespace nlohmann
nlohmann::adl_serializer::to_json
static auto to_json(BasicJsonType &j, ValueType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< ValueType >(val)))) -> decltype(::nlohmann::to_json(j, std::forward< ValueType >(val)), void())
convert any value type to a JSON value
Definition: adl_serializer.hpp:41
nlohmann::adl_serializer::from_json
static auto from_json(BasicJsonType &&j, ValueType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())
convert a JSON value to any value type
Definition: adl_serializer.hpp:24
nlohmann
namespace for Niels Lohmann
Definition: adl_serializer.hpp:9