|
|
@@ -1,6 +1,8 @@
|
|
|
+#include <cstddef>
|
|
|
#include <tuple>
|
|
|
#include <type_traits>
|
|
|
#include <utility>
|
|
|
+#include <vector>
|
|
|
#include <gtest/gtest.h>
|
|
|
#include <entt/config/config.h>
|
|
|
#include <entt/core/compressed_pair.hpp>
|
|
|
@@ -89,9 +91,13 @@ TEST(CompressedPair, ConstructCopyMove) {
|
|
|
}
|
|
|
|
|
|
TEST(CompressedPair, PiecewiseConstruct) {
|
|
|
- entt::compressed_pair<empty_type, int> pair{std::piecewise_construct, std::make_tuple(), std::make_tuple(3)};
|
|
|
+ std::vector<int> vec{42};
|
|
|
+ entt::compressed_pair<empty_type, empty_type> empty{std::piecewise_construct, std::make_tuple(), std::make_tuple()};
|
|
|
+ entt::compressed_pair<std::vector<int>, std::size_t> pair{std::piecewise_construct, std::forward_as_tuple(std::move(vec)), std::make_tuple(sizeof(empty))};
|
|
|
|
|
|
- ASSERT_EQ(pair.second(), 3);
|
|
|
+ ASSERT_EQ(pair.first().size(), 1u);
|
|
|
+ ASSERT_EQ(pair.second(), sizeof(empty));
|
|
|
+ ASSERT_EQ(vec.size(), 0u);
|
|
|
}
|
|
|
|
|
|
TEST(CompressedPair, DeductionGuide) {
|