fwd.hpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. //
  2. // Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
  3. // Copyright (c) 2022 Dmitry Arkhipov (grisumbras@yandex.ru)
  4. //
  5. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  6. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  7. //
  8. // Official repository: https://github.com/boostorg/json
  9. //
  10. #ifndef BOOST_JSON_FWD_HPP
  11. #define BOOST_JSON_FWD_HPP
  12. #include <boost/json/detail/config.hpp>
  13. namespace boost {
  14. namespace json {
  15. // Forward declarations
  16. #ifndef BOOST_JSON_DOCS
  17. class array;
  18. class object;
  19. class string;
  20. class value;
  21. class key_value_pair;
  22. class storage_ptr;
  23. struct value_from_tag;
  24. template<class T>
  25. struct value_to_tag;
  26. template<class T>
  27. struct try_value_to_tag;
  28. template<class T1, class T2>
  29. struct result_for;
  30. template<class T>
  31. struct is_string_like;
  32. template<class T>
  33. struct is_sequence_like;
  34. template<class T>
  35. struct is_map_like;
  36. template<class T>
  37. struct is_tuple_like;
  38. template<class T>
  39. struct is_null_like;
  40. template<class T>
  41. struct is_described_class;
  42. template<class T>
  43. struct is_described_enum;
  44. template<class T>
  45. void value_from( T&& t, value& jv );
  46. template<class T>
  47. T value_to( value const & v );
  48. template<class T>
  49. typename result_for<T, value>::type
  50. try_value_to( value const & jv );
  51. template<class T>
  52. typename result_for<T, value>::type
  53. result_from_errno( int e, boost::source_location const* loc ) noexcept;
  54. #endif
  55. } // namespace json
  56. } // namespace boost
  57. #endif