#ifndef BOOST_JSON_DETAIL_CONFIG_HPP
#define BOOST_JSON_DETAIL_CONFIG_HPP
-#ifndef BOOST_JSON_STANDALONE
-# include <boost/config.hpp>
-# include <boost/assert.hpp>
-# include <boost/throw_exception.hpp>
-#else
-# include <cassert>
-#endif
+#include <boost/config.hpp>
+#include <boost/assert.hpp>
+#include <boost/throw_exception.hpp>
#include <cstdint>
#include <type_traits>
#include <utility>
#endif
#ifndef BOOST_JSON_REQUIRE_CONST_INIT
-# define BOOST_JSON_REQUIRE_CONST_INIT
+# define BOOST_JSON_REQUIRE_CONST_INIT
# if __cpp_constinit >= 201907L
-# undef BOOST_JSON_REQUIRE_CONST_INIT
+# undef BOOST_JSON_REQUIRE_CONST_INIT
# define BOOST_JSON_REQUIRE_CONST_INIT constinit
-# elif defined(__clang__) && defined(__has_cpp_attribute)
-# if __has_cpp_attribute(clang::require_constant_initialization)
-# undef BOOST_JSON_REQUIRE_CONST_INIT
-# define BOOST_JSON_REQUIRE_CONST_INIT [[clang::require_constant_initialization]]
+# elif defined(__clang__) && defined(__has_cpp_attribute)
+# if __has_cpp_attribute(clang::require_constant_initialization)
+# undef BOOST_JSON_REQUIRE_CONST_INIT
+# define BOOST_JSON_REQUIRE_CONST_INIT [[clang::require_constant_initialization]]
# endif
# endif
#endif
-#ifndef BOOST_JSON_NO_DESTROY
-# if defined(__clang__) && defined(__has_cpp_attribute)
-# if __has_cpp_attribute(clang::no_destroy)
-# define BOOST_JSON_NO_DESTROY [[clang::no_destroy]]
+#ifndef BOOST_JSON_NO_DESTROY
+# if defined(__clang__) && defined(__has_cpp_attribute)
+# if __has_cpp_attribute(clang::no_destroy)
+# define BOOST_JSON_NO_DESTROY [[clang::no_destroy]]
# endif
# endif
#endif
# if __has_attribute(noreturn)
# define BOOST_NORETURN [[noreturn]]
# endif
-# elif defined(__has_cpp_attribute)
+# elif defined(__has_cpp_attribute)
# if __has_cpp_attribute(noreturn)
# define BOOST_NORETURN [[noreturn]]
# endif
#define BOOST_SYMBOL_VISIBLE
#endif
-#ifdef BOOST_JSON_STANDALONE
-# define BOOST_JSON_NS_BEGIN \
- namespace boost { \
- namespace json { \
- inline namespace standalone {
-# define BOOST_JSON_NS_END } } }
-#elif ! defined(BOOST_JSON_DOCS)
+#if ! defined(BOOST_JSON_DOCS)
# define BOOST_JSON_NS_BEGIN \
namespace boost { \
namespace json {
# define BOOST_JSON_NS_END } }
#endif
-#ifndef BOOST_JSON_STANDALONE
-# if defined(BOOST_JSON_DOCS)
-# define BOOST_JSON_DECL
-# else
-# if (defined(BOOST_JSON_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && !defined(BOOST_JSON_STATIC_LINK)
-# if defined(BOOST_JSON_SOURCE)
-# define BOOST_JSON_DECL BOOST_SYMBOL_EXPORT
-# define BOOST_JSON_CLASS_DECL BOOST_SYMBOL_EXPORT
-# define BOOST_JSON_BUILD_DLL
-# else
-# define BOOST_JSON_DECL BOOST_SYMBOL_IMPORT
-# define BOOST_JSON_CLASS_DECL BOOST_SYMBOL_IMPORT
-# endif
-# endif // shared lib
-# ifndef BOOST_JSON_DECL
-# define BOOST_JSON_DECL
+#if defined(BOOST_JSON_DOCS)
+# define BOOST_JSON_DECL
+#else
+# if (defined(BOOST_JSON_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && !defined(BOOST_JSON_STATIC_LINK)
+# if defined(BOOST_JSON_SOURCE)
+# define BOOST_JSON_DECL BOOST_SYMBOL_EXPORT
+# define BOOST_JSON_CLASS_DECL BOOST_SYMBOL_EXPORT
+# define BOOST_JSON_BUILD_DLL
+# else
+# define BOOST_JSON_DECL BOOST_SYMBOL_IMPORT
+# define BOOST_JSON_CLASS_DECL BOOST_SYMBOL_IMPORT
# endif
-# if !defined(BOOST_JSON_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_JSON_NO_LIB)
-# define BOOST_LIB_NAME boost_json
-# if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_JSON_DYN_LINK)
-# define BOOST_DYN_LINK
-# endif
-# include <boost/config/auto_link.hpp>
+# endif // shared lib
+# ifndef BOOST_JSON_DECL
+# define BOOST_JSON_DECL
+# endif
+# if !defined(BOOST_JSON_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_JSON_NO_LIB)
+# define BOOST_LIB_NAME boost_json
+# if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_JSON_DYN_LINK)
+# define BOOST_DYN_LINK
# endif
+# include <boost/config/auto_link.hpp>
# endif
-#else
-// For standalone, shared library builds, users must manually
-// define the macros BOOST_JSON_DECL and BOOST_JSON_CLASS_DECL
#endif
#ifndef BOOST_JSON_DECL
#define BOOST_JSON_DECL
#endif
-#ifndef BOOST_JSON_CLASS_DECL
-#define BOOST_JSON_CLASS_DECL
+#ifndef BOOST_JSON_CLASS_DECL
+#define BOOST_JSON_CLASS_DECL
#endif
#ifndef BOOST_JSON_LIKELY
# elif defined(__has_builtin)
# if __has_builtin(__builtin_unreachable)
# undef BOOST_JSON_UNREACHABLE
-# define BOOST_JSON_UNREACHABLE() __builtin_unreachable()
+# define BOOST_JSON_UNREACHABLE() __builtin_unreachable()
# endif
# endif
#endif
# endif
#endif
-// older versions of msvc and clang don't always
+// older versions of msvc and clang don't always
// constant initialize when they are supposed to
#ifndef BOOST_JSON_WEAK_CONSTINIT
# if defined(_MSC_VER) && ! defined(__clang__) && _MSC_VER < 1920