hana/test/tuple/empty_member.cpp
Louis Dionne 5af6066e61 Make some containers final and add notes about assumptions about representation
Also, add tests to make sure that an empty pair can be EBO'd. This one is very
important because a typical use case is to create a tuple of pairs of empty
types (e.g. in hana::map), and we expect this to be empty.
2018-05-06 10:08:49 -06:00

34 lines
818 B
C++

// Copyright Louis Dionne 2013-2017
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
#include <boost/hana/tuple.hpp>
namespace hana = boost::hana;
struct A { };
struct B { };
int main() {
{
using T = hana::tuple<int, A>;
static_assert(sizeof(T) == sizeof(int), "");
}
{
using T = hana::tuple<A, int>;
static_assert(sizeof(T) == sizeof(int), "");
}
{
using T = hana::tuple<A, int, B>;
static_assert(sizeof(T) == sizeof(int), "");
}
{
using T = hana::tuple<A, B, int>;
static_assert(sizeof(T) == sizeof(int), "");
}
{
using T = hana::tuple<int, A, B>;
static_assert(sizeof(T) == sizeof(int), "");
}
}