#ifndef TINYTOML_H_ #define TINYTOML_H_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace toml { // ---------------------------------------------------------------------- // Declarations class Value; typedef std::chrono::system_clock::time_point Time; typedef std::vector Array; typedef std::map Table; namespace internal { template struct call_traits_value { typedef T return_type; }; template struct call_traits_ref { typedef const T& return_type; }; } // namespace internal template struct call_traits; template<> struct call_traits : public internal::call_traits_value {}; template<> struct call_traits : public internal::call_traits_value {}; template<> struct call_traits : public internal::call_traits_value {}; template<> struct call_traits : public internal::call_traits_value {}; template<> struct call_traits : public internal::call_traits_ref {}; template<> struct call_traits