summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/hana/test/basic_tuple
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/hana/test/basic_tuple')
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/_specs.hpp15
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/all_of.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/any_of.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/ap.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/at.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/cartesian_product.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/drop_back.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/drop_front.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/drop_while.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/for_each.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/group.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/index_if.cpp9
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/insert.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/insert_range.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/intersperse.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/is_empty.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/length.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/lexicographical_compare.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/make.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/none_of.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/partition.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/permutations.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/remove_at.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/remove_range.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/reverse.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/scans.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/sequence.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/slice.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/sort.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/span.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/take_back.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/take_front.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/take_while.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/transform.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/unfolds.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/unique.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/auto/zips.cpp8
-rw-r--r--src/boost/libs/hana/test/basic_tuple/cnstr.copy.cpp86
-rw-r--r--src/boost/libs/hana/test/basic_tuple/construct.cpp19
-rw-r--r--src/boost/libs/hana/test/basic_tuple/laws.cpp35
-rw-r--r--src/boost/libs/hana/test/basic_tuple/length.cpp41
-rw-r--r--src/boost/libs/hana/test/basic_tuple/make.cpp18
-rw-r--r--src/boost/libs/hana/test/basic_tuple/unpack.cpp37
43 files changed, 540 insertions, 0 deletions
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/_specs.hpp b/src/boost/libs/hana/test/basic_tuple/auto/_specs.hpp
new file mode 100644
index 000000000..a54b04663
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/_specs.hpp
@@ -0,0 +1,15 @@
+// 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)
+
+#ifndef BOOST_HANA_TEST_BASIC_TUPLE_AUTO_SPECS_HPP
+#define BOOST_HANA_TEST_BASIC_TUPLE_AUTO_SPECS_HPP
+
+#include <boost/hana/basic_tuple.hpp>
+
+
+#define MAKE_TUPLE(...) ::boost::hana::make_basic_tuple(__VA_ARGS__)
+#define TUPLE_TYPE(...) ::boost::hana::basic_tuple<__VA_ARGS__>
+#define TUPLE_TAG ::boost::hana::basic_tuple_tag
+
+#endif // !BOOST_HANA_TEST_BASIC_TUPLE_AUTO_SPECS_HPP
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/all_of.cpp b/src/boost/libs/hana/test/basic_tuple/auto/all_of.cpp
new file mode 100644
index 000000000..f3e974ffd
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/all_of.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/all_of.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/any_of.cpp b/src/boost/libs/hana/test/basic_tuple/auto/any_of.cpp
new file mode 100644
index 000000000..3065d0175
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/any_of.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/any_of.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/ap.cpp b/src/boost/libs/hana/test/basic_tuple/auto/ap.cpp
new file mode 100644
index 000000000..59c9cb757
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/ap.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/ap.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/at.cpp b/src/boost/libs/hana/test/basic_tuple/auto/at.cpp
new file mode 100644
index 000000000..605265331
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/at.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/at.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/cartesian_product.cpp b/src/boost/libs/hana/test/basic_tuple/auto/cartesian_product.cpp
new file mode 100644
index 000000000..b0795e8d7
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/cartesian_product.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/cartesian_product.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/drop_back.cpp b/src/boost/libs/hana/test/basic_tuple/auto/drop_back.cpp
new file mode 100644
index 000000000..b283844d6
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/drop_back.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/drop_back.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/drop_front.cpp b/src/boost/libs/hana/test/basic_tuple/auto/drop_front.cpp
new file mode 100644
index 000000000..a39d6f450
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/drop_front.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/drop_front.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/drop_while.cpp b/src/boost/libs/hana/test/basic_tuple/auto/drop_while.cpp
new file mode 100644
index 000000000..18907f033
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/drop_while.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/drop_while.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/for_each.cpp b/src/boost/libs/hana/test/basic_tuple/auto/for_each.cpp
new file mode 100644
index 000000000..714fe03c0
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/for_each.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/for_each.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/group.cpp b/src/boost/libs/hana/test/basic_tuple/auto/group.cpp
new file mode 100644
index 000000000..0669b496f
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/group.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/group.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/index_if.cpp b/src/boost/libs/hana/test/basic_tuple/auto/index_if.cpp
new file mode 100644
index 000000000..ef37fe65a
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/index_if.cpp
@@ -0,0 +1,9 @@
+// Copyright Louis Dionne 2013-2017
+// Copyright Jason Rice 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 "_specs.hpp"
+#include <auto/index_if.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/insert.cpp b/src/boost/libs/hana/test/basic_tuple/auto/insert.cpp
new file mode 100644
index 000000000..e8efc6dc1
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/insert.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/insert.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/insert_range.cpp b/src/boost/libs/hana/test/basic_tuple/auto/insert_range.cpp
new file mode 100644
index 000000000..05ac5774e
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/insert_range.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/insert_range.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/intersperse.cpp b/src/boost/libs/hana/test/basic_tuple/auto/intersperse.cpp
new file mode 100644
index 000000000..185c814a9
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/intersperse.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/intersperse.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/is_empty.cpp b/src/boost/libs/hana/test/basic_tuple/auto/is_empty.cpp
new file mode 100644
index 000000000..f175f7ddb
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/is_empty.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/is_empty.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/length.cpp b/src/boost/libs/hana/test/basic_tuple/auto/length.cpp
new file mode 100644
index 000000000..55111dd60
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/length.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/length.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/lexicographical_compare.cpp b/src/boost/libs/hana/test/basic_tuple/auto/lexicographical_compare.cpp
new file mode 100644
index 000000000..4d2f3edf4
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/lexicographical_compare.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/lexicographical_compare.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/make.cpp b/src/boost/libs/hana/test/basic_tuple/auto/make.cpp
new file mode 100644
index 000000000..f90514f16
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/make.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/make.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/none_of.cpp b/src/boost/libs/hana/test/basic_tuple/auto/none_of.cpp
new file mode 100644
index 000000000..b56a27b47
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/none_of.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/none_of.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/partition.cpp b/src/boost/libs/hana/test/basic_tuple/auto/partition.cpp
new file mode 100644
index 000000000..ba9621a6c
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/partition.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/partition.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/permutations.cpp b/src/boost/libs/hana/test/basic_tuple/auto/permutations.cpp
new file mode 100644
index 000000000..3c1a6e852
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/permutations.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/permutations.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/remove_at.cpp b/src/boost/libs/hana/test/basic_tuple/auto/remove_at.cpp
new file mode 100644
index 000000000..5b7c5af47
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/remove_at.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/remove_at.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/remove_range.cpp b/src/boost/libs/hana/test/basic_tuple/auto/remove_range.cpp
new file mode 100644
index 000000000..6d7c6e090
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/remove_range.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/remove_range.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/reverse.cpp b/src/boost/libs/hana/test/basic_tuple/auto/reverse.cpp
new file mode 100644
index 000000000..342278df8
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/reverse.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/reverse.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/scans.cpp b/src/boost/libs/hana/test/basic_tuple/auto/scans.cpp
new file mode 100644
index 000000000..36dd32437
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/scans.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/scans.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/sequence.cpp b/src/boost/libs/hana/test/basic_tuple/auto/sequence.cpp
new file mode 100644
index 000000000..4ed01e852
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/sequence.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/sequence.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/slice.cpp b/src/boost/libs/hana/test/basic_tuple/auto/slice.cpp
new file mode 100644
index 000000000..3e20df95f
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/slice.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/slice.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/sort.cpp b/src/boost/libs/hana/test/basic_tuple/auto/sort.cpp
new file mode 100644
index 000000000..f639ddeb0
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/sort.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/sort.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/span.cpp b/src/boost/libs/hana/test/basic_tuple/auto/span.cpp
new file mode 100644
index 000000000..297b7f174
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/span.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/span.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/take_back.cpp b/src/boost/libs/hana/test/basic_tuple/auto/take_back.cpp
new file mode 100644
index 000000000..2a91d7d4d
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/take_back.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/take_back.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/take_front.cpp b/src/boost/libs/hana/test/basic_tuple/auto/take_front.cpp
new file mode 100644
index 000000000..9a48d2b8c
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/take_front.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/take_front.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/take_while.cpp b/src/boost/libs/hana/test/basic_tuple/auto/take_while.cpp
new file mode 100644
index 000000000..e58c99aca
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/take_while.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/take_while.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/transform.cpp b/src/boost/libs/hana/test/basic_tuple/auto/transform.cpp
new file mode 100644
index 000000000..306c1bc3c
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/transform.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/transform.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/unfolds.cpp b/src/boost/libs/hana/test/basic_tuple/auto/unfolds.cpp
new file mode 100644
index 000000000..f8bac9ddc
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/unfolds.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/unfolds.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/unique.cpp b/src/boost/libs/hana/test/basic_tuple/auto/unique.cpp
new file mode 100644
index 000000000..9c1dc7155
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/unique.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/unique.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/auto/zips.cpp b/src/boost/libs/hana/test/basic_tuple/auto/zips.cpp
new file mode 100644
index 000000000..32ec5cc8a
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/auto/zips.cpp
@@ -0,0 +1,8 @@
+// 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 "_specs.hpp"
+#include <auto/zips.hpp>
+
+int main() { }
diff --git a/src/boost/libs/hana/test/basic_tuple/cnstr.copy.cpp b/src/boost/libs/hana/test/basic_tuple/cnstr.copy.cpp
new file mode 100644
index 000000000..5949156f7
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/cnstr.copy.cpp
@@ -0,0 +1,86 @@
+// 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/assert.hpp>
+#include <boost/hana/at.hpp>
+#include <boost/hana/basic_tuple.hpp>
+
+#include <laws/base.hpp>
+
+#include <string>
+namespace hana = boost::hana;
+
+
+struct Empty { };
+
+int main() {
+ {
+ using T = hana::basic_tuple<>;
+ T t0;
+ T t_implicit = t0;
+ T t_explicit(t0);
+
+ (void)t_explicit;
+ (void)t_implicit;
+ }
+ {
+ using T = hana::basic_tuple<int>;
+ T t0(2);
+ T t = t0;
+ BOOST_HANA_RUNTIME_CHECK(hana::at_c<0>(t) == 2);
+ }
+ {
+ using T = hana::basic_tuple<int, char>;
+ T t0(2, 'a');
+ T t = t0;
+ BOOST_HANA_RUNTIME_CHECK(hana::at_c<0>(t) == 2);
+ BOOST_HANA_RUNTIME_CHECK(hana::at_c<1>(t) == 'a');
+ }
+ {
+ using T = hana::basic_tuple<int, char, std::string>;
+ const T t0(2, 'a', "some text");
+ T t = t0;
+ BOOST_HANA_RUNTIME_CHECK(hana::at_c<0>(t) == 2);
+ BOOST_HANA_RUNTIME_CHECK(hana::at_c<1>(t) == 'a');
+ BOOST_HANA_RUNTIME_CHECK(hana::at_c<2>(t) == "some text");
+ }
+ {
+ using T = hana::basic_tuple<int>;
+ constexpr T t0(2);
+ constexpr T t = t0;
+ static_assert(hana::at_c<0>(t) == 2, "");
+ }
+ {
+ using T = hana::basic_tuple<Empty>;
+ constexpr T t0{};
+ constexpr T t = t0;
+ constexpr Empty e = hana::at_c<0>(t); (void)e;
+ }
+ {
+ struct T { };
+ struct U { };
+
+ constexpr hana::basic_tuple<T, U> binary{};
+ constexpr hana::basic_tuple<T, U> copy_implicit = binary;
+ constexpr hana::basic_tuple<T, U> copy_explicit(binary);
+
+ (void)copy_implicit;
+ (void)copy_explicit;
+ }
+
+ // This used to fail
+ {
+ hana::basic_tuple<
+ hana::test::ct_eq<0>,
+ hana::test::ct_eq<2>,
+ hana::test::ct_eq<4>
+ > tuple{};
+
+ hana::basic_tuple<
+ hana::test::ct_eq<0>,
+ hana::test::ct_eq<2>,
+ hana::test::ct_eq<4>
+ > copy(tuple);
+ }
+}
diff --git a/src/boost/libs/hana/test/basic_tuple/construct.cpp b/src/boost/libs/hana/test/basic_tuple/construct.cpp
new file mode 100644
index 000000000..38b5e0a5b
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/construct.cpp
@@ -0,0 +1,19 @@
+// 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/basic_tuple.hpp>
+namespace hana = boost::hana;
+
+
+template <int i>
+struct x { };
+
+
+int main() {
+ constexpr hana::basic_tuple<> empty{}; (void)empty;
+
+ constexpr hana::basic_tuple<int, float> xs{1, 2.3f}; (void)xs;
+ constexpr auto ys = hana::basic_tuple<int, float>{1, 2.3f};
+ constexpr auto copy = ys; (void)copy;
+}
diff --git a/src/boost/libs/hana/test/basic_tuple/laws.cpp b/src/boost/libs/hana/test/basic_tuple/laws.cpp
new file mode 100644
index 000000000..d6a299be2
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/laws.cpp
@@ -0,0 +1,35 @@
+// 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/basic_tuple.hpp>
+
+#include <laws/base.hpp>
+#include <laws/foldable.hpp>
+#include <laws/functor.hpp>
+#include <laws/iterable.hpp>
+namespace hana = boost::hana;
+using hana::test::ct_eq;
+
+
+int main() {
+ auto eq_tuples = hana::make_basic_tuple(
+ hana::make_basic_tuple()
+ , hana::make_basic_tuple(ct_eq<0>{})
+ , hana::make_basic_tuple(ct_eq<0>{}, ct_eq<1>{})
+ , hana::make_basic_tuple(ct_eq<0>{}, ct_eq<1>{}, ct_eq<2>{})
+ , hana::make_basic_tuple(ct_eq<0>{}, ct_eq<1>{}, ct_eq<2>{}, ct_eq<3>{})
+ , hana::make_basic_tuple(ct_eq<0>{}, ct_eq<1>{}, ct_eq<2>{}, ct_eq<3>{}, ct_eq<4>{})
+ , hana::make_basic_tuple(ct_eq<0>{}, ct_eq<1>{}, ct_eq<2>{}, ct_eq<3>{}, ct_eq<4>{}, ct_eq<5>{})
+ );
+
+ auto eq_values = hana::make_basic_tuple(
+ ct_eq<0>{},
+ ct_eq<2>{},
+ ct_eq<4>{}
+ );
+
+ hana::test::TestFunctor<hana::basic_tuple_tag>{eq_tuples, eq_values};
+ hana::test::TestFoldable<hana::basic_tuple_tag>{eq_tuples};
+ hana::test::TestIterable<hana::basic_tuple_tag>{eq_tuples};
+}
diff --git a/src/boost/libs/hana/test/basic_tuple/length.cpp b/src/boost/libs/hana/test/basic_tuple/length.cpp
new file mode 100644
index 000000000..53d252563
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/length.cpp
@@ -0,0 +1,41 @@
+// 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/assert.hpp>
+#include <boost/hana/basic_tuple.hpp>
+#include <boost/hana/equal.hpp>
+#include <boost/hana/integral_constant.hpp>
+#include <boost/hana/length.hpp>
+
+#include <laws/base.hpp>
+namespace hana = boost::hana;
+using hana::test::ct_eq;
+
+
+int main() {
+ BOOST_HANA_CONSTANT_CHECK(hana::equal(
+ hana::length(hana::make_basic_tuple()),
+ hana::size_c<0>
+ ));
+
+ BOOST_HANA_CONSTANT_CHECK(hana::equal(
+ hana::length(hana::make_basic_tuple(ct_eq<0>{})),
+ hana::size_c<1>
+ ));
+
+ BOOST_HANA_CONSTANT_CHECK(hana::equal(
+ hana::length(hana::make_basic_tuple(ct_eq<0>{}, ct_eq<1>{})),
+ hana::size_c<2>
+ ));
+
+ BOOST_HANA_CONSTANT_CHECK(hana::equal(
+ hana::length(hana::make_basic_tuple(ct_eq<0>{}, ct_eq<1>{}, ct_eq<2>{})),
+ hana::size_c<3>
+ ));
+
+ BOOST_HANA_CONSTANT_CHECK(hana::equal(
+ hana::length(hana::make_basic_tuple(ct_eq<0>{}, ct_eq<1>{}, ct_eq<2>{}, ct_eq<3>{})),
+ hana::size_c<4>
+ ));
+}
diff --git a/src/boost/libs/hana/test/basic_tuple/make.cpp b/src/boost/libs/hana/test/basic_tuple/make.cpp
new file mode 100644
index 000000000..92e49543b
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/make.cpp
@@ -0,0 +1,18 @@
+// 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/basic_tuple.hpp>
+#include <boost/hana/core/make.hpp>
+namespace hana = boost::hana;
+
+
+template <int i>
+struct x { };
+
+int main() {
+ auto xs1 = hana::make<hana::basic_tuple_tag>(); (void)xs1;
+ auto xs2 = hana::make<hana::basic_tuple_tag>(x<0>{}); (void)xs2;
+ auto xs3 = hana::make<hana::basic_tuple_tag>(x<0>{}, x<1>{}); (void)xs3;
+ auto xs4 = hana::make<hana::basic_tuple_tag>(x<0>{}, x<1>{}, x<2>{}); (void)xs4;
+}
diff --git a/src/boost/libs/hana/test/basic_tuple/unpack.cpp b/src/boost/libs/hana/test/basic_tuple/unpack.cpp
new file mode 100644
index 000000000..012bb007c
--- /dev/null
+++ b/src/boost/libs/hana/test/basic_tuple/unpack.cpp
@@ -0,0 +1,37 @@
+// 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/assert.hpp>
+#include <boost/hana/basic_tuple.hpp>
+#include <boost/hana/equal.hpp>
+#include <boost/hana/unpack.hpp>
+
+#include <laws/base.hpp>
+namespace hana = boost::hana;
+using hana::test::ct_eq;
+
+
+int main() {
+ hana::test::_injection<0> f{};
+
+ BOOST_HANA_CONSTANT_CHECK(hana::equal(
+ hana::unpack(hana::make_basic_tuple(), f),
+ f()
+ ));
+
+ BOOST_HANA_CONSTANT_CHECK(hana::equal(
+ hana::unpack(hana::make_basic_tuple(ct_eq<0>{}), f),
+ f(ct_eq<0>{})
+ ));
+
+ BOOST_HANA_CONSTANT_CHECK(hana::equal(
+ hana::unpack(hana::make_basic_tuple(ct_eq<0>{}, ct_eq<1>{}), f),
+ f(ct_eq<0>{}, ct_eq<1>{})
+ ));
+
+ BOOST_HANA_CONSTANT_CHECK(hana::equal(
+ hana::unpack(hana::make_basic_tuple(ct_eq<0>{}, ct_eq<1>{}, ct_eq<2>{}), f),
+ f(ct_eq<0>{}, ct_eq<1>{}, ct_eq<2>{})
+ ));
+}