2
0
mirror of https://github.com/boostorg/cobalt.git synced 2026-01-19 16:12:15 +00:00
Files
cobalt/test/util.cpp
Klemens Morgenstern 45901641ac renamed to cobalt.
2023-10-16 21:42:07 +08:00

24 lines
1.3 KiB
C++

// Copyright (c) 2022 Klemens D. Morgenstern
//
// 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)
#include <boost/cobalt/detail/util.hpp>
static_assert(boost::cobalt::detail::variadic_first<int, double, int>() == 1u);
static_assert(boost::cobalt::detail::variadic_first<const int &, int, double>() == std::numeric_limits<std::size_t>::max());
static_assert(boost::cobalt::detail::variadic_first<int, double>() == std::numeric_limits<std::size_t>::max());
static_assert(boost::cobalt::detail::get_variadic<0>(4.2, 3) == 4.2);
static_assert(boost::cobalt::detail::get_variadic<1>(4.2, 3) == 3);
static_assert(boost::cobalt::detail::get_variadic<0>(4, 2.) == 4u);
static_assert(boost::cobalt::detail::get_variadic<1>(4, 2.3) == 2.3);
static_assert(boost::cobalt::detail::variadic_has<int, double, int>);
static_assert(boost::cobalt::detail::variadic_has<int, int, double>);
static_assert(!boost::cobalt::detail::variadic_has<int, double>);
static_assert(std::is_same_v<boost::cobalt::detail::variadic_element_t<0u, double, int>, double>);
static_assert(std::is_same_v<boost::cobalt::detail::variadic_element_t<1u, int, int, double>, int>);
static_assert(std::is_same_v<boost::cobalt::detail::variadic_element_t<1u, int, double>, double>);