| # nlohmann::adl_serializer |
| |
| ``` |
| template<typename, typename> |
| struct adl_serializer; |
| ``` |
| |
| Serializer that uses ADL ([Argument-Dependent Lookup](https://en.cppreference.com/w/cpp/language/adl)) to choose `to_json`/`from_json` functions from the types' namespaces. |
| |
| It is implemented similarly to |
| |
| ``` |
| template<typename ValueType> |
| struct adl_serializer { |
| template<typename BasicJsonType> |
| static void to_json(BasicJsonType& j, const T& value) { |
| // calls the "to_json" method in T's namespace |
| } |
| |
| template<typename BasicJsonType> |
| static void from_json(const BasicJsonType& j, T& value) { |
| // same thing, but with the "from_json" method |
| } |
| }; |
| ``` |
| |
| ## Member functions |
| |
| - [**from_json**](https://json.nlohmann.me/api/adl_serializer/from_json/index.md) - convert a JSON value to any value type |
| - [**to_json**](https://json.nlohmann.me/api/adl_serializer/to_json/index.md) - convert any value type to a JSON value |
| |
| ## Version history |
| |
| - Added in version 2.1.0. |