summaryrefslogtreecommitdiff
path: root/boost/beast/core/detail/static_const.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/beast/core/detail/static_const.hpp')
-rw-r--r--boost/beast/core/detail/static_const.hpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/boost/beast/core/detail/static_const.hpp b/boost/beast/core/detail/static_const.hpp
new file mode 100644
index 0000000000..f8582326c8
--- /dev/null
+++ b/boost/beast/core/detail/static_const.hpp
@@ -0,0 +1,49 @@
+//
+// Copyright (c) 2016-2019 Vinnie Falco (vinnie dot falco at gmail dot com)
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Official repository: https://github.com/boostorg/beast
+//
+
+#ifndef BOOST_BEAST_DETAIL_STATIC_CONST_HPP
+#define BOOST_BEAST_DETAIL_STATIC_CONST_HPP
+
+/* This is a derivative work, original copyright:
+
+ Copyright Eric Niebler 2013-present
+
+ Use, modification and distribution is subject to the
+ Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+
+ Project home: https://github.com/ericniebler/range-v3
+*/
+
+namespace boost {
+namespace beast {
+namespace detail {
+
+template<typename T>
+struct static_const
+{
+ static constexpr T value {};
+};
+
+template<typename T>
+constexpr T static_const<T>::value;
+
+#define BOOST_BEAST_INLINE_VARIABLE(name, type) \
+ namespace \
+ { \
+ constexpr auto& name = \
+ ::boost::beast::detail::static_const<type>::value; \
+ }
+
+} // detail
+} // beast
+} // boost
+
+#endif