123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- #ifndef BOOST_HANA_FWD_INTEGRAL_CONSTANT_HPP
- #define BOOST_HANA_FWD_INTEGRAL_CONSTANT_HPP
- #include <boost/hana/config.hpp>
- #include <boost/hana/detail/integral_constant.hpp>
- #include <cstddef>
- namespace boost { namespace hana {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- template <typename T, T v>
- BOOST_HANA_INLINE_VARIABLE constexpr integral_constant<T, v> integral_c{};
-
- template <bool b>
- using bool_ = integral_constant<bool, b>;
-
- template <bool b>
- BOOST_HANA_INLINE_VARIABLE constexpr bool_<b> bool_c{};
-
- using true_ = bool_<true>;
-
- BOOST_HANA_INLINE_VARIABLE constexpr auto true_c = bool_c<true>;
-
- using false_ = bool_<false>;
-
- BOOST_HANA_INLINE_VARIABLE constexpr auto false_c = bool_c<false>;
-
- template <char c>
- using char_ = integral_constant<char, c>;
-
- template <char c>
- BOOST_HANA_INLINE_VARIABLE constexpr char_<c> char_c{};
-
- template <short i>
- using short_ = integral_constant<short, i>;
-
- template <short i>
- BOOST_HANA_INLINE_VARIABLE constexpr short_<i> short_c{};
-
- template <unsigned short i>
- using ushort_ = integral_constant<unsigned short, i>;
-
- template <unsigned short i>
- BOOST_HANA_INLINE_VARIABLE constexpr ushort_<i> ushort_c{};
-
- template <int i>
- using int_ = integral_constant<int, i>;
-
- template <int i>
- BOOST_HANA_INLINE_VARIABLE constexpr int_<i> int_c{};
-
- template <unsigned int i>
- using uint = integral_constant<unsigned int, i>;
-
- template <unsigned int i>
- BOOST_HANA_INLINE_VARIABLE constexpr uint<i> uint_c{};
-
- template <long i>
- using long_ = integral_constant<long, i>;
-
- template <long i>
- BOOST_HANA_INLINE_VARIABLE constexpr long_<i> long_c{};
-
- template <unsigned long i>
- using ulong = integral_constant<unsigned long, i>;
-
- template <unsigned long i>
- BOOST_HANA_INLINE_VARIABLE constexpr ulong<i> ulong_c{};
-
- template <long long i>
- using llong = integral_constant<long long, i>;
-
- template <long long i>
- BOOST_HANA_INLINE_VARIABLE constexpr llong<i> llong_c{};
-
- template <unsigned long long i>
- using ullong = integral_constant<unsigned long long, i>;
-
- template <unsigned long long i>
- BOOST_HANA_INLINE_VARIABLE constexpr ullong<i> ullong_c{};
-
- template <std::size_t i>
- using size_t = integral_constant<std::size_t, i>;
-
- template <std::size_t i>
- BOOST_HANA_INLINE_VARIABLE constexpr size_t<i> size_c{};
- namespace literals {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- template <char ...c>
- constexpr auto operator"" _c();
- }
- }}
- #endif
|