into.hpp

# into.hpp #

Defines a `struct` used for conversion from user-defined types into `toml::value` constructors.

You can achieve the same functionality by adding an `into_toml` member function, but for classes where you cannot add member functions, use `into<T>`.

This file does not provide specific implementations. Please specialize this `struct` when using.

    namespace toml
    {

    template<typename T>
    struct into;

    } // toml

## Example #

    namespace extlib
    {
    struct foo
    {
        int a;
        std::string b;
    };
    } // extlib

    #include <toml11/into.hpp>

    namespace toml
    {
    template<>
    struct into<extlib::foo>
    {
        template<typename TC>
        static toml::basic_value<TC> into_toml(const extlib::foo& f)
        {
            using value_type = toml::basic_value<TC>;
            using table_type = typename value_type::table_type;
            return value_type(table_type{{"a", f.a}, {"b", f.b}});
        }
    };
    } // toml

# Related #

- conversion.hpp
- from.hpp