# define BOOST_HANA_CONSTEXPR_LAMBDA /* nothing */
#endif
-//////////////////////////////////////////////////////////////////////////////
-// Namespace macros
-//////////////////////////////////////////////////////////////////////////////
-#define BOOST_HANA_NAMESPACE_BEGIN namespace boost { namespace hana {
-
-#define BOOST_HANA_NAMESPACE_END }}
+// `BOOST_HANA_INLINE_VARIABLE` expands to `inline` when C++17 inline variables
+// are supported, and to nothing otherwise. This allows marking global variables
+// defined in a header as `inline` to avoid potential ODR violations.
+#if defined(__cplusplus) && __cplusplus > 201402L
+# define BOOST_HANA_INLINE_VARIABLE inline
+#else
+# define BOOST_HANA_INLINE_VARIABLE /* nothing */
+#endif
//////////////////////////////////////////////////////////////////////////////
// Library features and options that can be tweaked by users