diff options
Diffstat (limited to 'boost/beast/core/detail/static_const.hpp')
-rw-r--r-- | boost/beast/core/detail/static_const.hpp | 49 |
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 |