2
0
mirror of https://github.com/boostorg/hana.git synced 2026-01-19 16:22:15 +00:00

Merge develop into master

This commit is contained in:
Louis Dionne
2021-05-26 11:05:23 -04:00
181 changed files with 359 additions and 394 deletions

View File

@@ -4,7 +4,7 @@
language: cpp
os: linux # Jobs are on Linux unless specified otherwise
dist: trusty # Jobs are on Trusty unless specified otherwise
dist: xenial
sudo: false
env:
@@ -22,39 +22,19 @@ matrix:
# Note that we only use the memory checker on the main configuration to
# speed up Travis builds.
##########################################################################
# Clang 3.9
- env: UNIT_TESTS=true COMPILER=clang++-3.9 BOOST_VERSION=default ENABLE_MEMCHECK=true
addons: { apt: { packages: ["clang-3.9", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-3.9"] } }
# Clang 4.0
- env: UNIT_TESTS=true COMPILER=clang++-4.0 BOOST_VERSION=default ENABLE_MEMCHECK=true
addons: { apt: { packages: ["clang-4.0", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-4.0"] } }
# Clang 5.0
- env: UNIT_TESTS=true COMPILER=clang++-5.0 BOOST_VERSION=default ENABLE_MEMCHECK=true
addons: { apt: { packages: ["clang-5.0", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-5.0"] } }
# Clang 6.0
- env: UNIT_TESTS=true COMPILER=clang++-6.0 BOOST_VERSION=default ENABLE_MEMCHECK=true
addons: { apt: { packages: ["clang-6.0", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-6.0"] } }
# Clang 7.0
# Clang 7
- env: UNIT_TESTS=true COMPILER=clang++-7 BOOST_VERSION=default ENABLE_MEMCHECK=true
addons: &defaults { apt: { packages: ["clang-7", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-7"] } }
addons: { apt: { packages: ["clang-7", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-xenial-7"] } }
# GCC 6
- env: UNIT_TESTS=true COMPILER=g++-6 BOOST_VERSION=default ENABLE_MEMCHECK=true
addons: { apt: { packages: ["g++-6", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
# GCC 7
- env: UNIT_TESTS=true COMPILER=g++-7 BOOST_VERSION=default ENABLE_MEMCHECK=true
addons: { apt: { packages: ["g++-7", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
# Clang 8
- env: UNIT_TESTS=true COMPILER=clang++-8 BOOST_VERSION=default ENABLE_MEMCHECK=true
addons: &defaults { apt: { packages: ["clang-8", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-xenial-8"] } }
# GCC 8
- env: UNIT_TESTS=true COMPILER=g++-8 BOOST_VERSION=default ENABLE_MEMCHECK=true
addons: { apt: { packages: ["g++-8", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
# Xcode 9.1
# Xcode 11
- os: osx
env: UNIT_TESTS=true BOOST_VERSION=default
osx_image: xcode11
@@ -66,9 +46,17 @@ matrix:
- env: UNIT_TESTS=true COMPILER=default BOOST_VERSION=default CMAKE_OPTIONS="-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON"
addons: *defaults
# With C++20, on Clang
- env: UNIT_TESTS=true COMPILER=default BOOST_VERSION=default CMAKE_OPTIONS="-DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON"
addons: *defaults
# With C++17, on GCC
- env: UNIT_TESTS=true COMPILER=g++-6 BOOST_VERSION=default CMAKE_OPTIONS="-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON"
addons: { apt: { packages: ["g++-6", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
- env: UNIT_TESTS=true COMPILER=g++-8 BOOST_VERSION=default CMAKE_OPTIONS="-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON"
addons: { apt: { packages: ["g++-8", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
# With C++20, on GCC
- env: UNIT_TESTS=true COMPILER=g++-8 BOOST_VERSION=default CMAKE_OPTIONS="-DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON"
addons: { apt: { packages: ["g++-8", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
# Without concept checks
- env: UNIT_TESTS=true COMPILER=default BOOST_VERSION=default CMAKE_OPTIONS="-DBOOST_HANA_ENABLE_CONCEPT_CHECKS=OFF"
@@ -87,12 +75,8 @@ matrix:
env: UNIT_TESTS=true BOOST_VERSION=default CMAKE_OPTIONS="-DBOOST_HANA_ENABLE_EXCEPTIONS=OFF"
osx_image: xcode11
# With Boost 1.64
- env: UNIT_TESTS=true COMPILER=default BOOST_VERSION=1.64.0
addons: *defaults
# With Boost 1.65.1
- env: UNIT_TESTS=true COMPILER=default BOOST_VERSION=1.65.1
# With Boost 1.76.0
- env: UNIT_TESTS=true COMPILER=default BOOST_VERSION=1.76.0
addons: *defaults
# Without Boost (make sure we don't depend on it)
@@ -113,6 +97,7 @@ matrix:
##########################################################################
- os: osx
env: DOCUMENTATION=true BOOST_VERSION=default
osx_image: xcode11
##########################################################################
# Benchmarks
@@ -142,8 +127,8 @@ install:
############################################################################
# Setup default versions and override CXX set by Travis if needed
############################################################################
- if [[ "${COMPILER}" == "default" ]]; then COMPILER=clang++-7; fi
- if [[ "${BOOST_VERSION}" == "default" ]]; then BOOST_VERSION=1.66.0; fi
- if [[ "${COMPILER}" == "default" ]]; then COMPILER=clang++-8; fi
- if [[ "${BOOST_VERSION}" == "default" ]]; then BOOST_VERSION=1.76.0; fi
- if [[ "${COMPILER}" != "" ]]; then export CXX=${COMPILER}; fi
- ${CXX} --version
@@ -159,7 +144,7 @@ install:
travis_retry git clone --depth 1 --recursive ${BOOST_URL} ${BOOST_DIR} || exit 1
(cd ${BOOST_DIR} && ./bootstrap.sh && ./b2 headers) || exit 1
else
BOOST_URL="https://dl.bintray.com/boostorg/release/${BOOST_VERSION}/source/boost_${BOOST_VERSION//\./_}.tar.gz"
BOOST_URL="https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION}/source/boost_${BOOST_VERSION//\./_}.tar.gz"
mkdir -p ${BOOST_DIR}
{ travis_retry wget -O - ${BOOST_URL} | tar --strip-components=1 -xz -C ${BOOST_DIR}; } || exit 1
fi
@@ -174,7 +159,7 @@ install:
############################################################################
- |
if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
CMAKE_URL="https://cmake.org/files/v3.10/cmake-3.10.0-Linux-x86_64.tar.gz"
CMAKE_URL="https://github.com/Kitware/CMake/releases/download/v3.20.2/cmake-3.20.2.tar.gz"
mkdir cmake && travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake
export PATH=${DEPS_DIR}/cmake/bin:${PATH}
else
@@ -192,35 +177,6 @@ install:
b2 --version || true # b2 --version returns 1
fi
############################################################################
# Install libc++ and libc++abi if needed
############################################################################
- |
if [[ "${CXX%%+*}" == "clang" ]]; then
if [[ "${CXX}" == "clang++-3.9" ]]; then LLVM_VERSION="3.9.1";
elif [[ "${CXX}" == "clang++-4.0" ]]; then LLVM_VERSION="4.0.1";
elif [[ "${CXX}" == "clang++-5.0" ]]; then LLVM_VERSION="5.0.2";
elif [[ "${CXX}" == "clang++-6.0" ]]; then LLVM_VERSION="6.0.1";
elif [[ "${CXX}" == "clang++-7" ]]; then LLVM_VERSION="7.0.1";
fi
LLVM_URL="http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz"
LIBCXX_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxx-${LLVM_VERSION}.src.tar.xz"
LIBCXXABI_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxxabi-${LLVM_VERSION}.src.tar.xz"
mkdir -p llvm llvm/build llvm/projects/libcxx llvm/projects/libcxxabi
travis_retry wget -O - ${LLVM_URL} | tar --strip-components=1 -xJ -C llvm || exit 1
travis_retry wget -O - ${LIBCXX_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxx || exit 1
travis_retry wget -O - ${LIBCXXABI_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxxabi || exit 1
(cd llvm/build && cmake .. -DCMAKE_INSTALL_PREFIX=${DEPS_DIR}/llvm/install) || exit 1
(cd llvm/build/projects/libcxx && make install -j2) || exit 1
(cd llvm/build/projects/libcxxabi && make install -j2) || exit 1
export CXXFLAGS="-isystem ${DEPS_DIR}/llvm/install/include/c++/v1"
export LDFLAGS="-L ${DEPS_DIR}/llvm/install/lib -l c++ -l c++abi"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${DEPS_DIR}/llvm/install/lib"
fi
############################################################################
# Install a recent Doxygen
############################################################################
@@ -358,11 +314,7 @@ script:
# Build tests
echo "using clang : : ${CXX} ;" > project-config.jam
if [[ "${LDFLAGS}" == "" ]]; then
(cd test && b2 toolset=clang cxxflags="-std=c++1y ${CXXFLAGS}" include="${BOOST_DIR}") || exit 1
else
(cd test && b2 toolset=clang cxxflags="-std=c++1y ${CXXFLAGS}" include="${BOOST_DIR}" linkflags="${LDFLAGS}") || exit 1
fi
(cd test && b2 toolset=clang cxxflags="-std=c++1y" include="${BOOST_DIR}") || exit 1
fi

View File

@@ -1,4 +1,2 @@
Release notes for Hana 1.7.0
Release notes for Hana 1.6.2
============================
- Disable the definition of traits::is_pod in C++20 and later, due to its
deprecation.

View File

@@ -109,9 +109,9 @@ below, which are tested on an ongoing basis:
Compiler/Toolchain | Status
------------------ | ------
Clang >= 3.9.1 | Fully working; tested on each push to GitHub
Xcode >= 9.1 | Fully working; tested on each push to GitHub
GCC >= 6.0.0 | Fully working; tested on each push to GitHub
Clang >= 7 | Fully working; tested on each push to GitHub
Xcode >= 11 | Fully working; tested on each push to GitHub
GCC >= 8 | Fully working; tested on each push to GitHub
VS2017 >= Update 7 | Fully working; tested on each push to GitHub
More specifically, Hana requires a compiler/standard library supporting the
@@ -2420,13 +2420,15 @@ for `Constant` and `IntegralConstant`.
Hana's algorithms are `constexpr` function objects instead of being template
functions. This allows passing them to higher-order algorithms, which is very
useful. However, since those function objects are defined at namespace scope
in the header files, this causes each translation unit to see a different
algorithm object. Hence, the address of an algorithm function object is not
guaranteed to be unique across translation units, which can cause an ODR
violation if one relies on such an address. So, in short, do not rely on the
uniqueness of the address of any global object provided by Hana, which does
not make sense in the general case anyway because such objects are `constexpr`.
See [issue #76](https://github.com/boostorg/hana/issues/76) for more information.
in the header files, we require support for C++17 inline variables in order to
avoid ODR violations (by means of the same object being defined twice in
different translation units). When compiling in C++14 mode, where inline
variables are not available, each translation unit will see a different
algorithm object, so the address of an algorithm function object is not
guaranteed to be unique across translation units. This is technically an ODR
violation, but it shouldn't bite you unless you rely on the addresses being
the same. So, in short, do not rely on the uniqueness of the address of any
global object provided by Hana if you are compiling in C++14 mode.

View File

@@ -104,6 +104,15 @@ Distributed under the Boost Software License, Version 1.0.
# define BOOST_HANA_CONSTEXPR_LAMBDA /* nothing */
#endif
// `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
//////////////////////////////////////////////////////////////////////////////
// Namespace macros
//////////////////////////////////////////////////////////////////////////////

View File

@@ -34,7 +34,7 @@ BOOST_HANA_NAMESPACE_BEGIN namespace detail { namespace variadic {
};
template <std::size_t n>
constexpr at_type<n> at{};
BOOST_HANA_INLINE_VARIABLE constexpr at_type<n> at{};
}} BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_DETAIL_VARIADIC_AT_HPP

View File

@@ -41,7 +41,7 @@ BOOST_HANA_NAMESPACE_BEGIN namespace detail { namespace variadic {
};
template <std::size_t n>
constexpr make_dropper<n> drop_into{};
BOOST_HANA_INLINE_VARIABLE constexpr make_dropper<n> drop_into{};
}} BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_DETAIL_VARIADIC_DROP_INTO_HPP

View File

@@ -207,8 +207,8 @@ BOOST_HANA_NAMESPACE_BEGIN namespace detail { namespace variadic {
}
};
constexpr foldl1_t foldl1{};
constexpr auto foldl = foldl1;
BOOST_HANA_INLINE_VARIABLE constexpr foldl1_t foldl1{};
BOOST_HANA_INLINE_VARIABLE constexpr auto foldl = foldl1;
}} BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_DETAIL_VARIADIC_FOLDL1_HPP

View File

@@ -193,7 +193,7 @@ BOOST_HANA_NAMESPACE_BEGIN namespace detail { namespace variadic {
}
};
constexpr foldr1_t foldr1{};
BOOST_HANA_INLINE_VARIABLE constexpr foldr1_t foldr1{};
struct foldr_t {
template <typename F, typename State, typename ...Xn>
@@ -204,7 +204,7 @@ BOOST_HANA_NAMESPACE_BEGIN namespace detail { namespace variadic {
}
};
constexpr foldr_t foldr{};
BOOST_HANA_INLINE_VARIABLE constexpr foldr_t foldr{};
}} BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_DETAIL_VARIADIC_FOLDR1_HPP

View File

@@ -15,7 +15,7 @@ Distributed under the Boost Software License, Version 1.0.
BOOST_HANA_NAMESPACE_BEGIN namespace detail { namespace variadic {
BOOST_HANA_CONSTEXPR_LAMBDA auto reverse_apply =
BOOST_HANA_INLINE_VARIABLE BOOST_HANA_CONSTEXPR_LAMBDA auto reverse_apply =
[](auto&& f, auto&& ...x) -> decltype(auto) {
return detail::variadic::reverse_apply_unrolled(
static_cast<decltype(f)>(f),

View File

@@ -80,8 +80,7 @@ BOOST_HANA_NAMESPACE_BEGIN namespace detail { namespace variadic {
}
};
constexpr reverse_apply_unrolled_impl reverse_apply_unrolled{};
BOOST_HANA_INLINE_VARIABLE constexpr reverse_apply_unrolled_impl reverse_apply_unrolled{};
}} BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_DETAIL_VARIADIC_REVERSE_APPLY_UNROLLED_HPP

View File

@@ -147,7 +147,7 @@ BOOST_HANA_NAMESPACE_BEGIN namespace detail { namespace variadic {
};
template <std::size_t n>
constexpr _makesplit_at_t<n> split_at{};
BOOST_HANA_INLINE_VARIABLE constexpr _makesplit_at_t<n> split_at{};
}} BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_DETAIL_VARIADIC_SPLIT_AT_HPP

View File

@@ -45,7 +45,7 @@ BOOST_HANA_NAMESPACE_BEGIN namespace detail { namespace variadic {
};
template <std::size_t n>
constexpr take_t<n> take{};
BOOST_HANA_INLINE_VARIABLE constexpr take_t<n> take{};
}} BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_DETAIL_VARIADIC_TAKE_HPP

View File

@@ -87,7 +87,7 @@ BOOST_HANA_NAMESPACE_BEGIN namespace experimental {
}
};
constexpr print_t print{};
BOOST_HANA_INLINE_VARIABLE constexpr print_t print{};
#endif
// Define the `Printable` concept

View File

@@ -148,7 +148,7 @@ namespace experimental {
return {s1, s2};
}
};
constexpr make_joined_view_t joined{};
BOOST_HANA_INLINE_VARIABLE constexpr make_joined_view_t joined{};
namespace detail {
template <typename Sequence1, typename Sequence2>

View File

@@ -57,7 +57,7 @@ BOOST_HANA_NAMESPACE_BEGIN
{ return std::move(val_); }
};
constexpr detail::create<_always> always{};
BOOST_HANA_INLINE_VARIABLE constexpr detail::create<_always> always{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -78,7 +78,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
};
constexpr apply_t apply{};
BOOST_HANA_INLINE_VARIABLE constexpr apply_t apply{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -134,7 +134,7 @@ BOOST_HANA_NAMESPACE_BEGIN
};
template <std::size_t n>
constexpr arg_t<n> arg{};
BOOST_HANA_INLINE_VARIABLE constexpr arg_t<n> arg{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -105,7 +105,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
};
constexpr make_capture_t capture{};
BOOST_HANA_INLINE_VARIABLE constexpr make_capture_t capture{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -101,7 +101,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
};
constexpr _make_compose compose{};
BOOST_HANA_INLINE_VARIABLE constexpr _make_compose compose{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -109,7 +109,7 @@ BOOST_HANA_NAMESPACE_BEGIN
};
template <std::size_t n>
constexpr make_curry_t<n> curry{};
BOOST_HANA_INLINE_VARIABLE constexpr make_curry_t<n> curry{};
namespace curry_detail { namespace {
template <std::size_t n>

View File

@@ -262,7 +262,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
};
constexpr make_pre_demux_t demux{};
BOOST_HANA_INLINE_VARIABLE constexpr make_pre_demux_t demux{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -59,7 +59,7 @@ BOOST_HANA_NAMESPACE_BEGIN
template <typename F>
struct fix_t;
constexpr detail::create<fix_t> fix{};
BOOST_HANA_INLINE_VARIABLE constexpr detail::create<fix_t> fix{};
template <typename F>
struct fix_t {

View File

@@ -66,7 +66,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
};
constexpr detail::create<flip_t> flip{};
BOOST_HANA_INLINE_VARIABLE constexpr detail::create<flip_t> flip{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -31,7 +31,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
};
constexpr id_t id{};
BOOST_HANA_INLINE_VARIABLE constexpr id_t id{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -178,7 +178,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
} // end namespace infix_detail
constexpr infix_detail::make_infix<false, false> infix{};
BOOST_HANA_INLINE_VARIABLE constexpr infix_detail::make_infix<false, false> infix{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -194,7 +194,7 @@ BOOST_HANA_NAMESPACE_BEGIN
};
template <std::size_t n>
constexpr make_iterate_t<n> iterate{};
BOOST_HANA_INLINE_VARIABLE constexpr make_iterate_t<n> iterate{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -107,7 +107,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
};
constexpr make_pre_lockstep_t lockstep{};
BOOST_HANA_INLINE_VARIABLE constexpr make_pre_lockstep_t lockstep{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -76,7 +76,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
};
constexpr auto on = infix(detail::create<on_t>{});
BOOST_HANA_INLINE_VARIABLE constexpr auto on = infix(detail::create<on_t>{});
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -81,7 +81,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
};
constexpr make_overload_t overload{};
BOOST_HANA_INLINE_VARIABLE constexpr make_overload_t overload{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -103,7 +103,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
};
constexpr make_overload_linearly_t overload_linearly{};
BOOST_HANA_INLINE_VARIABLE constexpr make_overload_linearly_t overload_linearly{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -98,7 +98,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
};
constexpr make_partial_t partial{};
BOOST_HANA_INLINE_VARIABLE constexpr make_partial_t partial{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -256,7 +256,7 @@ BOOST_HANA_NAMESPACE_BEGIN
#undef BOOST_HANA_BINARY_PLACEHOLDER_OP
} // end namespace placeholder_detail
constexpr placeholder_detail::placeholder _{};
BOOST_HANA_INLINE_VARIABLE constexpr placeholder_detail::placeholder _{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -96,7 +96,7 @@ BOOST_HANA_NAMESPACE_BEGIN
}
};
constexpr make_reverse_partial_t reverse_partial{};
BOOST_HANA_INLINE_VARIABLE constexpr make_reverse_partial_t reverse_partial{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -43,7 +43,7 @@ BOOST_HANA_NAMESPACE_BEGIN
struct accessors_t;
template <typename S>
constexpr accessors_t<S> accessors{};
BOOST_HANA_INLINE_VARIABLE constexpr accessors_t<S> accessors{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -57,7 +57,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Value&& value, F&& f) const;
};
constexpr adjust_t adjust{};
BOOST_HANA_INLINE_VARIABLE constexpr adjust_t adjust{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -62,7 +62,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Pred const& pred, F const& f) const;
};
constexpr adjust_if_t adjust_if{};
BOOST_HANA_INLINE_VARIABLE constexpr adjust_if_t adjust_if{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -39,7 +39,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs) const;
};
constexpr all_t all{};
BOOST_HANA_INLINE_VARIABLE constexpr all_t all{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -47,7 +47,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Pred&& pred) const;
};
constexpr all_of_t all_of{};
BOOST_HANA_INLINE_VARIABLE constexpr all_of_t all_of{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -46,7 +46,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(X&& x, Y&& ...y) const;
};
constexpr and_t and_{};
BOOST_HANA_INLINE_VARIABLE constexpr and_t and_{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -39,7 +39,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs) const;
};
constexpr any_t any{};
BOOST_HANA_INLINE_VARIABLE constexpr any_t any{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -46,7 +46,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Pred&& pred) const;
};
constexpr any_of_t any_of{};
BOOST_HANA_INLINE_VARIABLE constexpr any_of_t any_of{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -74,7 +74,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(F&& f, Xs&& ...xs) const;
};
constexpr ap_t ap{};
BOOST_HANA_INLINE_VARIABLE constexpr ap_t ap{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -61,7 +61,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, X&& x) const;
};
constexpr append_t append{};
BOOST_HANA_INLINE_VARIABLE constexpr append_t append{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -59,7 +59,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Xs&& xs, N const& n) const;
};
constexpr at_t at{};
BOOST_HANA_INLINE_VARIABLE constexpr at_t at{};
#endif
//! Equivalent to `at`; provided for convenience.

View File

@@ -60,7 +60,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Xs&& xs, Key const& key) const;
};
constexpr at_key_t at_key{};
BOOST_HANA_INLINE_VARIABLE constexpr at_key_t at_key{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -41,7 +41,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Xs&& xs) const;
};
constexpr back_t back{};
BOOST_HANA_INLINE_VARIABLE constexpr back_t back{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -64,7 +64,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! Example
//! -------
//! @include example/basic_tuple/make.cpp
constexpr auto make_basic_tuple = make<basic_tuple_tag>;
BOOST_HANA_INLINE_VARIABLE constexpr auto make_basic_tuple = make<basic_tuple_tag>;
BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_FWD_BASIC_TUPLE_HPP

View File

@@ -55,7 +55,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs) const;
};
constexpr cartesian_product_t cartesian_product{};
BOOST_HANA_INLINE_VARIABLE constexpr cartesian_product_t cartesian_product{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -60,7 +60,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Xs&& xs, F&& f) const;
};
constexpr chain_t chain{};
BOOST_HANA_INLINE_VARIABLE constexpr chain_t chain{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -58,7 +58,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(F&& f) const;
};
constexpr comparing_t comparing{};
BOOST_HANA_INLINE_VARIABLE constexpr comparing_t comparing{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -56,7 +56,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Ys&& ys) const;
};
constexpr concat_t concat{};
BOOST_HANA_INLINE_VARIABLE constexpr concat_t concat{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -51,7 +51,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Key&& key) const;
};
constexpr auto contains = hana::infix(contains_t{});
BOOST_HANA_INLINE_VARIABLE constexpr auto contains = hana::infix(contains_t{});
#endif
//! Return whether the key occurs in the structure.
@@ -67,7 +67,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! Example
//! -------
//! @include example/in.cpp
constexpr auto in = hana::infix(hana::flip(hana::contains));
BOOST_HANA_INLINE_VARIABLE constexpr auto in = hana::infix(hana::flip(hana::contains));
BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_FWD_CONTAINS_HPP

View File

@@ -43,7 +43,7 @@ BOOST_HANA_NAMESPACE_BEGIN
struct is_a_t;
template <typename Tag, typename ...T>
constexpr is_a_t<Tag, T...> is_a{};
BOOST_HANA_INLINE_VARIABLE constexpr is_a_t<Tag, T...> is_a{};
#endif
//! @ingroup group-core
@@ -54,7 +54,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto is_an = is_a<Tag, T...>;
#else
template <typename Tag, typename ...T>
constexpr is_a_t<Tag, T...> is_an{};
BOOST_HANA_INLINE_VARIABLE constexpr is_a_t<Tag, T...> is_an{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -63,7 +63,7 @@ BOOST_HANA_NAMESPACE_BEGIN
};
template <typename Tag>
constexpr make_t<Tag> make{};
BOOST_HANA_INLINE_VARIABLE constexpr make_t<Tag> make{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -108,7 +108,7 @@ BOOST_HANA_NAMESPACE_BEGIN
};
template <typename To>
constexpr to_t<To> to{};
BOOST_HANA_INLINE_VARIABLE constexpr to_t<To> to{};
#endif
//! @ingroup group-core

View File

@@ -50,7 +50,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Value&& value) const;
};
constexpr count_t count{};
BOOST_HANA_INLINE_VARIABLE constexpr count_t count{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -49,7 +49,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Pred&& pred) const;
};
constexpr count_if_t count_if{};
BOOST_HANA_INLINE_VARIABLE constexpr count_if_t count_if{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -69,7 +69,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, N const& n) const;
};
constexpr cycle_t cycle{};
BOOST_HANA_INLINE_VARIABLE constexpr cycle_t cycle{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -26,7 +26,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&&, Ys&&) const;
};
constexpr difference_t difference{};
BOOST_HANA_INLINE_VARIABLE constexpr difference_t difference{};
BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_FWD_DIFFERENCE_HPP

View File

@@ -52,7 +52,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(X&& x, Y&& y) const;
};
constexpr div_t div{};
BOOST_HANA_INLINE_VARIABLE constexpr div_t div{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -56,7 +56,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs) const;
};
constexpr drop_back_t drop_back{};
BOOST_HANA_INLINE_VARIABLE constexpr drop_back_t drop_back{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -59,7 +59,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs) const;
};
constexpr drop_front_t drop_front{};
BOOST_HANA_INLINE_VARIABLE constexpr drop_front_t drop_front{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -60,7 +60,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs) const;
};
constexpr drop_front_exactly_t drop_front_exactly{};
BOOST_HANA_INLINE_VARIABLE constexpr drop_front_exactly_t drop_front_exactly{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -53,7 +53,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Pred&& pred) const;
};
constexpr drop_while_t drop_while{};
BOOST_HANA_INLINE_VARIABLE constexpr drop_while_t drop_while{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -50,7 +50,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(W_&& w) const;
};
constexpr duplicate_t duplicate{};
BOOST_HANA_INLINE_VARIABLE constexpr duplicate_t duplicate{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -46,7 +46,7 @@ BOOST_HANA_NAMESPACE_BEGIN
};
template <typename M>
constexpr empty_t<M> empty{};
BOOST_HANA_INLINE_VARIABLE constexpr empty_t<M> empty{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -73,7 +73,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(X&& x, Y&& y) const;
};
constexpr equal_t equal{};
BOOST_HANA_INLINE_VARIABLE constexpr equal_t equal{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -26,7 +26,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Set&& set, Args&& ...args) const;
};
constexpr erase_key_t erase_key{};
BOOST_HANA_INLINE_VARIABLE constexpr erase_key_t erase_key{};
BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_FWD_ERASE_KEY_HPP

View File

@@ -51,7 +51,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Expr&& expr) const;
};
constexpr eval_t eval{};
BOOST_HANA_INLINE_VARIABLE constexpr eval_t eval{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -148,7 +148,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Cond&& cond, Then&& then, Else&& else_) const;
};
constexpr eval_if_t eval_if{};
BOOST_HANA_INLINE_VARIABLE constexpr eval_if_t eval_if{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -55,7 +55,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(W_&& w, F&& f) const;
};
constexpr extend_t extend{};
BOOST_HANA_INLINE_VARIABLE constexpr extend_t extend{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -51,7 +51,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(W_&& w) const;
};
constexpr extract_t extract{};
BOOST_HANA_INLINE_VARIABLE constexpr extract_t extract{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -50,7 +50,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Value&& value) const;
};
constexpr fill_t fill{};
BOOST_HANA_INLINE_VARIABLE constexpr fill_t fill{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -74,7 +74,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Pred&& pred) const;
};
constexpr filter_t filter{};
BOOST_HANA_INLINE_VARIABLE constexpr filter_t filter{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -53,7 +53,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Key const& key) const;
};
constexpr find_t find{};
BOOST_HANA_INLINE_VARIABLE constexpr find_t find{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -50,7 +50,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Pred&& pred) const;
};
constexpr find_if_t find_if{};
BOOST_HANA_INLINE_VARIABLE constexpr find_if_t find_if{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -42,7 +42,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Pair&& pair) const;
};
constexpr first_t first{};
BOOST_HANA_INLINE_VARIABLE constexpr first_t first{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -56,7 +56,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs) const;
};
constexpr flatten_t flatten{};
BOOST_HANA_INLINE_VARIABLE constexpr flatten_t flatten{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -32,7 +32,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! Example
//! -------
//! @include example/fold.cpp
constexpr auto fold = fold_left;
BOOST_HANA_INLINE_VARIABLE constexpr auto fold = fold_left;
BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_FWD_FOLD_HPP

View File

@@ -81,7 +81,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Xs&& xs, F&& f) const;
};
constexpr fold_left_t fold_left{};
BOOST_HANA_INLINE_VARIABLE constexpr fold_left_t fold_left{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -85,7 +85,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Xs&& xs, F&& f) const;
};
constexpr fold_right_t fold_right{};
BOOST_HANA_INLINE_VARIABLE constexpr fold_right_t fold_right{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -48,7 +48,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr void operator()(Xs&& xs, F&& f) const;
};
constexpr for_each_t for_each{};
BOOST_HANA_INLINE_VARIABLE constexpr for_each_t for_each{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -41,7 +41,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Xs&& xs) const;
};
constexpr front_t front{};
BOOST_HANA_INLINE_VARIABLE constexpr front_t front{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -48,7 +48,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(F&& f) const;
};
constexpr fuse_t fuse{};
BOOST_HANA_INLINE_VARIABLE constexpr fuse_t fuse{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -46,7 +46,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(X&& x, Y&& y) const;
};
constexpr greater_t greater{};
BOOST_HANA_INLINE_VARIABLE constexpr greater_t greater{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -47,7 +47,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(X&& x, Y&& y) const;
};
constexpr greater_equal_t greater_equal{};
BOOST_HANA_INLINE_VARIABLE constexpr greater_equal_t greater_equal{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -96,7 +96,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Predicate&& pred) const;
};
constexpr group_t group{};
BOOST_HANA_INLINE_VARIABLE constexpr group_t group{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -61,7 +61,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(X const& x) const;
};
constexpr hash_t hash{};
BOOST_HANA_INLINE_VARIABLE constexpr hash_t hash{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -50,7 +50,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Cond&& cond, Then&& then, Else&& else_) const;
};
constexpr if_t if_{};
BOOST_HANA_INLINE_VARIABLE constexpr if_t if_{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -52,7 +52,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Pred&& pred) const;
};
constexpr index_if_t index_if{};
BOOST_HANA_INLINE_VARIABLE constexpr index_if_t index_if{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -26,7 +26,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr decltype(auto) operator()(Set&& set, Args&& ...args) const;
};
constexpr insert_t insert{};
BOOST_HANA_INLINE_VARIABLE constexpr insert_t insert{};
//! Insert a value at a given index in a sequence.

View File

@@ -50,7 +50,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, N&& n, Elements&& elements) const;
};
constexpr insert_range_t insert_range{};
BOOST_HANA_INLINE_VARIABLE constexpr insert_range_t insert_range{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -36,7 +36,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! -------
//! @snippet example/integral_constant.cpp integral_c
template <typename T, T v>
constexpr integral_constant<T, v> integral_c{};
BOOST_HANA_INLINE_VARIABLE constexpr integral_constant<T, v> integral_c{};
//! @relates hana::integral_constant
@@ -45,19 +45,19 @@ BOOST_HANA_NAMESPACE_BEGIN
//! @relates hana::integral_constant
template <bool b>
constexpr bool_<b> bool_c{};
BOOST_HANA_INLINE_VARIABLE constexpr bool_<b> bool_c{};
//! @relates hana::integral_constant
using true_ = bool_<true>;
//! @relates hana::integral_constant
constexpr auto true_c = bool_c<true>;
BOOST_HANA_INLINE_VARIABLE constexpr auto true_c = bool_c<true>;
//! @relates hana::integral_constant
using false_ = bool_<false>;
//! @relates hana::integral_constant
constexpr auto false_c = bool_c<false>;
BOOST_HANA_INLINE_VARIABLE constexpr auto false_c = bool_c<false>;
//! @relates hana::integral_constant
@@ -66,7 +66,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! @relates hana::integral_constant
template <char c>
constexpr char_<c> char_c{};
BOOST_HANA_INLINE_VARIABLE constexpr char_<c> char_c{};
//! @relates hana::integral_constant
@@ -75,7 +75,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! @relates hana::integral_constant
template <short i>
constexpr short_<i> short_c{};
BOOST_HANA_INLINE_VARIABLE constexpr short_<i> short_c{};
//! @relates hana::integral_constant
@@ -84,7 +84,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! @relates hana::integral_constant
template <unsigned short i>
constexpr ushort_<i> ushort_c{};
BOOST_HANA_INLINE_VARIABLE constexpr ushort_<i> ushort_c{};
//! @relates hana::integral_constant
@@ -93,7 +93,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! @relates hana::integral_constant
template <int i>
constexpr int_<i> int_c{};
BOOST_HANA_INLINE_VARIABLE constexpr int_<i> int_c{};
//! @relates hana::integral_constant
@@ -102,7 +102,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! @relates hana::integral_constant
template <unsigned int i>
constexpr uint<i> uint_c{};
BOOST_HANA_INLINE_VARIABLE constexpr uint<i> uint_c{};
//! @relates hana::integral_constant
@@ -111,7 +111,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! @relates hana::integral_constant
template <long i>
constexpr long_<i> long_c{};
BOOST_HANA_INLINE_VARIABLE constexpr long_<i> long_c{};
//! @relates hana::integral_constant
@@ -120,7 +120,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! @relates hana::integral_constant
template <unsigned long i>
constexpr ulong<i> ulong_c{};
BOOST_HANA_INLINE_VARIABLE constexpr ulong<i> ulong_c{};
//! @relates hana::integral_constant
@@ -129,7 +129,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! @relates hana::integral_constant
template <long long i>
constexpr llong<i> llong_c{};
BOOST_HANA_INLINE_VARIABLE constexpr llong<i> llong_c{};
//! @relates hana::integral_constant
@@ -138,7 +138,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! @relates hana::integral_constant
template <unsigned long long i>
constexpr ullong<i> ullong_c{};
BOOST_HANA_INLINE_VARIABLE constexpr ullong<i> ullong_c{};
//! @relates hana::integral_constant
@@ -147,7 +147,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! @relates hana::integral_constant
template <std::size_t i>
constexpr size_t<i> size_c{};
BOOST_HANA_INLINE_VARIABLE constexpr size_t<i> size_c{};
namespace literals {

View File

@@ -26,7 +26,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&&, Ys&&) const;
};
constexpr intersection_t intersection{};
BOOST_HANA_INLINE_VARIABLE constexpr intersection_t intersection{};
BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_FWD_INTERSECTION_HPP

View File

@@ -50,7 +50,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Z&& z) const;
};
constexpr intersperse_t intersperse{};
BOOST_HANA_INLINE_VARIABLE constexpr intersperse_t intersperse{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -43,7 +43,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Ys&& ys) const;
};
constexpr is_disjoint_t is_disjoint{};
BOOST_HANA_INLINE_VARIABLE constexpr is_disjoint_t is_disjoint{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -42,7 +42,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs const& xs) const;
};
constexpr is_empty_t is_empty{};
BOOST_HANA_INLINE_VARIABLE constexpr is_empty_t is_empty{};
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -72,7 +72,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Xs&& xs, Ys&& ys) const;
};
constexpr auto is_subset = hana::infix(is_subset_t{});
BOOST_HANA_INLINE_VARIABLE constexpr auto is_subset = hana::infix(is_subset_t{});
#endif
BOOST_HANA_NAMESPACE_END

View File

@@ -26,7 +26,7 @@ BOOST_HANA_NAMESPACE_BEGIN
constexpr auto operator()(Map&& map) const;
};
constexpr keys_t keys{};
BOOST_HANA_INLINE_VARIABLE constexpr keys_t keys{};
//! Returns a `Sequence` containing the name of the members of
//! the data structure.

View File

@@ -118,7 +118,7 @@ BOOST_HANA_NAMESPACE_BEGIN
//! Example
//! -------
//! @include example/lazy/make.cpp
constexpr auto make_lazy = make<lazy_tag>;
BOOST_HANA_INLINE_VARIABLE constexpr auto make_lazy = make<lazy_tag>;
BOOST_HANA_NAMESPACE_END
#endif // !BOOST_HANA_FWD_LAZY_HPP

Some files were not shown because too many files have changed in this diff Show More