summaryrefslogtreecommitdiff
path: root/boost/hana/detail
diff options
context:
space:
mode:
Diffstat (limited to 'boost/hana/detail')
-rw-r--r--boost/hana/detail/algorithm.hpp2
-rw-r--r--boost/hana/detail/any_of.hpp2
-rw-r--r--boost/hana/detail/array.hpp2
-rw-r--r--boost/hana/detail/canonical_constant.hpp2
-rw-r--r--boost/hana/detail/concepts.hpp2
-rw-r--r--boost/hana/detail/create.hpp2
-rw-r--r--boost/hana/detail/decay.hpp2
-rw-r--r--boost/hana/detail/dependent_on.hpp24
-rw-r--r--boost/hana/detail/dispatch_if.hpp2
-rw-r--r--boost/hana/detail/ebo.hpp115
-rw-r--r--boost/hana/detail/fast_and.hpp2
-rw-r--r--boost/hana/detail/first_unsatisfied_index.hpp2
-rw-r--r--boost/hana/detail/has_common_embedding.hpp2
-rw-r--r--boost/hana/detail/has_duplicates.hpp2
-rw-r--r--boost/hana/detail/index_if.hpp2
-rw-r--r--boost/hana/detail/integral_constant.hpp2
-rw-r--r--boost/hana/detail/intrinsics.hpp2
-rw-r--r--boost/hana/detail/nested_by.hpp2
-rw-r--r--boost/hana/detail/nested_by_fwd.hpp2
-rw-r--r--boost/hana/detail/nested_than.hpp2
-rw-r--r--boost/hana/detail/nested_than_fwd.hpp2
-rw-r--r--boost/hana/detail/nested_to.hpp2
-rw-r--r--boost/hana/detail/nested_to_fwd.hpp2
-rw-r--r--boost/hana/detail/operators/adl.hpp2
-rw-r--r--boost/hana/detail/operators/arithmetic.hpp2
-rw-r--r--boost/hana/detail/operators/comparable.hpp2
-rw-r--r--boost/hana/detail/operators/iterable.hpp2
-rw-r--r--boost/hana/detail/operators/logical.hpp2
-rw-r--r--boost/hana/detail/operators/monad.hpp2
-rw-r--r--boost/hana/detail/operators/orderable.hpp2
-rw-r--r--boost/hana/detail/operators/searchable.hpp2
-rw-r--r--boost/hana/detail/preprocessor.hpp2
-rw-r--r--boost/hana/detail/std_common_type.hpp2
-rw-r--r--boost/hana/detail/struct_macros.erb.hpp2
-rw-r--r--boost/hana/detail/struct_macros.hpp2
-rw-r--r--boost/hana/detail/type_at.hpp2
-rw-r--r--boost/hana/detail/type_foldl1.hpp2
-rw-r--r--boost/hana/detail/type_foldr1.hpp2
-rw-r--r--boost/hana/detail/unpack_flatten.hpp2
-rw-r--r--boost/hana/detail/variadic/at.hpp2
-rw-r--r--boost/hana/detail/variadic/drop_into.hpp2
-rw-r--r--boost/hana/detail/variadic/foldl1.hpp2
-rw-r--r--boost/hana/detail/variadic/foldr1.hpp2
-rw-r--r--boost/hana/detail/variadic/reverse_apply.hpp2
-rw-r--r--boost/hana/detail/variadic/reverse_apply/flat.hpp2
-rw-r--r--boost/hana/detail/variadic/reverse_apply/unrolled.hpp2
-rw-r--r--boost/hana/detail/variadic/split_at.hpp2
-rw-r--r--boost/hana/detail/variadic/take.hpp2
-rw-r--r--boost/hana/detail/void_t.hpp2
-rw-r--r--boost/hana/detail/wrong.hpp2
50 files changed, 163 insertions, 72 deletions
diff --git a/boost/hana/detail/algorithm.hpp b/boost/hana/detail/algorithm.hpp
index cf4ead5751..1929847e7a 100644
--- a/boost/hana/detail/algorithm.hpp
+++ b/boost/hana/detail/algorithm.hpp
@@ -2,7 +2,7 @@
@file
Defines several `constexpr` algorithms.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/any_of.hpp b/boost/hana/detail/any_of.hpp
index 89c0d6a544..de6b1c6ad2 100644
--- a/boost/hana/detail/any_of.hpp
+++ b/boost/hana/detail/any_of.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::any_of`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/array.hpp b/boost/hana/detail/array.hpp
index eaf031da51..8b2c276f5e 100644
--- a/boost/hana/detail/array.hpp
+++ b/boost/hana/detail/array.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::array`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/canonical_constant.hpp b/boost/hana/detail/canonical_constant.hpp
index 0435ca0b42..07d636fa17 100644
--- a/boost/hana/detail/canonical_constant.hpp
+++ b/boost/hana/detail/canonical_constant.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::CanonicalConstant`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/concepts.hpp b/boost/hana/detail/concepts.hpp
index 6feed772c0..d7b48bc5ec 100644
--- a/boost/hana/detail/concepts.hpp
+++ b/boost/hana/detail/concepts.hpp
@@ -2,7 +2,7 @@
@file
Defines concepts from the Standard library.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/create.hpp b/boost/hana/detail/create.hpp
index e98537eb44..354e5590ca 100644
--- a/boost/hana/detail/create.hpp
+++ b/boost/hana/detail/create.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::create`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/decay.hpp b/boost/hana/detail/decay.hpp
index 014981c677..7d8affa0b2 100644
--- a/boost/hana/detail/decay.hpp
+++ b/boost/hana/detail/decay.hpp
@@ -3,7 +3,7 @@
Defines a replacement for `std::decay`, which is sometimes too slow at
compile-time.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/dependent_on.hpp b/boost/hana/detail/dependent_on.hpp
deleted file mode 100644
index 97141664b0..0000000000
--- a/boost/hana/detail/dependent_on.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/*!
-@file
-Defines `boost::hana::detail::dependent_on`.
-
-@copyright Louis Dionne 2013-2016
-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_DETAIL_DEPENDENT_ON_HPP
-#define BOOST_HANA_DETAIL_DEPENDENT_ON_HPP
-
-#include <boost/hana/config.hpp>
-
-
-BOOST_HANA_NAMESPACE_BEGIN namespace detail {
- template <bool dummy, typename T>
- struct dependent_on { using type = T; };
-
- template <bool dummy, typename T>
- using dependent_on_t = typename dependent_on<dummy, T>::type;
-} BOOST_HANA_NAMESPACE_END
-
-#endif // !BOOST_HANA_DETAIL_DEPENDENT_ON_HPP
diff --git a/boost/hana/detail/dispatch_if.hpp b/boost/hana/detail/dispatch_if.hpp
index 88073fa7a2..6e95f58878 100644
--- a/boost/hana/detail/dispatch_if.hpp
+++ b/boost/hana/detail/dispatch_if.hpp
@@ -2,7 +2,7 @@
@file
Defines `BOOST_HANA_DISPATCH_IF`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/ebo.hpp b/boost/hana/detail/ebo.hpp
new file mode 100644
index 0000000000..01ca009ce2
--- /dev/null
+++ b/boost/hana/detail/ebo.hpp
@@ -0,0 +1,115 @@
+/*!
+@file
+Defines `boost::hana::detail::ebo`.
+
+@copyright Louis Dionne 2013-2016
+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_DETAIL_EBO_HPP
+#define BOOST_HANA_DETAIL_EBO_HPP
+
+#include <boost/hana/config.hpp>
+#include <boost/hana/detail/intrinsics.hpp>
+
+
+namespace _hana {
+ //////////////////////////////////////////////////////////////////////////
+ // ebo<K, V>
+ //
+ // Building block to implement the Empty Base Optimization (EBO). We
+ // use a short name and define it in a short namespace to reduce
+ // symbol lengths, since this type is used as a building block for
+ // other widely used types such as `hana::pair`.
+ //
+ // When available, we use compiler intrinsics to reduce the number
+ // of instantiations.
+ //
+ // `ebo` provides a limited set of constructors to reduce instantiations.
+ // Also, the constructors are open-ended and they do not check for the
+ // validity of their arguments, again to reduce compile-time costs.
+ // Users of `ebo` should make sure that they only try to construct an
+ // `ebo` from a compatible value.
+ //
+ // EBOs can be indexed using an arbitrary type. The recommended usage is
+ // to define an integrap constant wrapper for the specific container using
+ // EBO, and then index using that wrapper:
+ //
+ // template <int> struct idx; // wrapper for tuple
+ // template <typename ...T>
+ // struct tuple : ebo<idx<0>, T0>, ebo<idx<1>, T1>, ... { };
+ //
+ // The reason for defining one wrapper per container is to avoid any issues
+ // that can arise when using `ebo_get`, which casts to the base class. If
+ // `tuple` and `pair` are inheritting from `ebo`s with the same indexing
+ // scheme, trying to use `ebo_get` on a tuple of pairs will trigger an
+ // ambiguous base class conversion, since both tuple and pair inherit
+ // from `ebo`s with the same keys.
+ //////////////////////////////////////////////////////////////////////////
+ template <typename K, typename V, bool =
+ BOOST_HANA_TT_IS_EMPTY(V) && !BOOST_HANA_TT_IS_FINAL(V)
+ >
+ struct ebo;
+
+ // Specialize storage for empty types
+ template <typename K, typename V>
+ struct ebo<K, V, true> : V {
+ constexpr ebo() { }
+
+ template <typename T>
+ explicit constexpr ebo(T&& t)
+ : V(static_cast<T&&>(t))
+ { }
+ };
+
+ // Specialize storage for non-empty types
+ template <typename K, typename V>
+ struct ebo<K, V, false> {
+ constexpr ebo() : data_() { }
+
+ template <typename T>
+ explicit constexpr ebo(T&& t)
+ : data_(static_cast<T&&>(t))
+ { }
+
+ V data_;
+ };
+
+ //////////////////////////////////////////////////////////////////////////
+ // ebo_get
+ //////////////////////////////////////////////////////////////////////////
+ template <typename K, typename V>
+ constexpr V const& ebo_get(ebo<K, V, true> const& x)
+ { return x; }
+
+ template <typename K, typename V>
+ constexpr V& ebo_get(ebo<K, V, true>& x)
+ { return x; }
+
+ template <typename K, typename V>
+ constexpr V&& ebo_get(ebo<K, V, true>&& x)
+ { return static_cast<V&&>(x); }
+
+
+ template <typename K, typename V>
+ constexpr V const& ebo_get(ebo<K, V, false> const& x)
+ { return x.data_; }
+
+ template <typename K, typename V>
+ constexpr V& ebo_get(ebo<K, V, false>& x)
+ { return x.data_; }
+
+ template <typename K, typename V>
+ constexpr V&& ebo_get(ebo<K, V, false>&& x)
+ { return static_cast<V&&>(x.data_); }
+} // end namespace _hana
+
+BOOST_HANA_NAMESPACE_BEGIN
+ namespace detail {
+ using ::_hana::ebo;
+ using ::_hana::ebo_get;
+ }
+BOOST_HANA_NAMESPACE_END
+
+#endif // !BOOST_HANA_DETAIL_EBO_HPP
diff --git a/boost/hana/detail/fast_and.hpp b/boost/hana/detail/fast_and.hpp
index a03ab05bcf..a43e3e9c45 100644
--- a/boost/hana/detail/fast_and.hpp
+++ b/boost/hana/detail/fast_and.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::fast_and`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/first_unsatisfied_index.hpp b/boost/hana/detail/first_unsatisfied_index.hpp
index d4a894e4bd..e42cc598e5 100644
--- a/boost/hana/detail/first_unsatisfied_index.hpp
+++ b/boost/hana/detail/first_unsatisfied_index.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::first_unsatisfied_index`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/has_common_embedding.hpp b/boost/hana/detail/has_common_embedding.hpp
index d1e8db5861..ffaf6908b8 100644
--- a/boost/hana/detail/has_common_embedding.hpp
+++ b/boost/hana/detail/has_common_embedding.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::has_[nontrivial_]common_embedding`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/has_duplicates.hpp b/boost/hana/detail/has_duplicates.hpp
index 191f1e744e..ff9f080482 100644
--- a/boost/hana/detail/has_duplicates.hpp
+++ b/boost/hana/detail/has_duplicates.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::has_duplicates`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/index_if.hpp b/boost/hana/detail/index_if.hpp
index 81f6ea5630..8224f74be8 100644
--- a/boost/hana/detail/index_if.hpp
+++ b/boost/hana/detail/index_if.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::index_if`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/integral_constant.hpp b/boost/hana/detail/integral_constant.hpp
index aded3ba331..6fa7735164 100644
--- a/boost/hana/detail/integral_constant.hpp
+++ b/boost/hana/detail/integral_constant.hpp
@@ -3,7 +3,7 @@
Defines the barebones `boost::hana::integral_constant` template, but no
operations on it.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/intrinsics.hpp b/boost/hana/detail/intrinsics.hpp
index 6483f212aa..b3d98654cd 100644
--- a/boost/hana/detail/intrinsics.hpp
+++ b/boost/hana/detail/intrinsics.hpp
@@ -2,7 +2,7 @@
@file
Defines macros for commonly used type traits.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/nested_by.hpp b/boost/hana/detail/nested_by.hpp
index 5eabf3528b..6bdfe70c43 100644
--- a/boost/hana/detail/nested_by.hpp
+++ b/boost/hana/detail/nested_by.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::nested_by`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/nested_by_fwd.hpp b/boost/hana/detail/nested_by_fwd.hpp
index 3ca9dc7058..4e82f64cd6 100644
--- a/boost/hana/detail/nested_by_fwd.hpp
+++ b/boost/hana/detail/nested_by_fwd.hpp
@@ -2,7 +2,7 @@
@file
Forward declares `boost::hana::detail::nested_by`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/nested_than.hpp b/boost/hana/detail/nested_than.hpp
index fce96eecf0..d4a7c5ffc6 100644
--- a/boost/hana/detail/nested_than.hpp
+++ b/boost/hana/detail/nested_than.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::nested_than`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/nested_than_fwd.hpp b/boost/hana/detail/nested_than_fwd.hpp
index 5e60d10251..39231050f3 100644
--- a/boost/hana/detail/nested_than_fwd.hpp
+++ b/boost/hana/detail/nested_than_fwd.hpp
@@ -2,7 +2,7 @@
@file
Forward declares `boost::hana::detail::nested_than`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/nested_to.hpp b/boost/hana/detail/nested_to.hpp
index eee664ca93..2f6154d367 100644
--- a/boost/hana/detail/nested_to.hpp
+++ b/boost/hana/detail/nested_to.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::nested_to`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/nested_to_fwd.hpp b/boost/hana/detail/nested_to_fwd.hpp
index f21e0b181d..ec3161136c 100644
--- a/boost/hana/detail/nested_to_fwd.hpp
+++ b/boost/hana/detail/nested_to_fwd.hpp
@@ -2,7 +2,7 @@
@file
Forward declares `boost::hana::detail::nested_to`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/operators/adl.hpp b/boost/hana/detail/operators/adl.hpp
index 22f804bad4..59a81600b6 100644
--- a/boost/hana/detail/operators/adl.hpp
+++ b/boost/hana/detail/operators/adl.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::operators::adl`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/operators/arithmetic.hpp b/boost/hana/detail/operators/arithmetic.hpp
index d0459115b8..58f432db78 100644
--- a/boost/hana/detail/operators/arithmetic.hpp
+++ b/boost/hana/detail/operators/arithmetic.hpp
@@ -2,7 +2,7 @@
@file
Defines arithmetic operators.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/operators/comparable.hpp b/boost/hana/detail/operators/comparable.hpp
index 579245f0f2..0c110fe3a3 100644
--- a/boost/hana/detail/operators/comparable.hpp
+++ b/boost/hana/detail/operators/comparable.hpp
@@ -2,7 +2,7 @@
@file
Defines operators for Comparables.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/operators/iterable.hpp b/boost/hana/detail/operators/iterable.hpp
index 95dadeedfe..6dcb6bc25e 100644
--- a/boost/hana/detail/operators/iterable.hpp
+++ b/boost/hana/detail/operators/iterable.hpp
@@ -2,7 +2,7 @@
@file
Defines operators for Iterables.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/operators/logical.hpp b/boost/hana/detail/operators/logical.hpp
index 28623df322..4645ca2bb4 100644
--- a/boost/hana/detail/operators/logical.hpp
+++ b/boost/hana/detail/operators/logical.hpp
@@ -2,7 +2,7 @@
@file
Defines logical operators.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/operators/monad.hpp b/boost/hana/detail/operators/monad.hpp
index 4cdf76b178..ccc421c56a 100644
--- a/boost/hana/detail/operators/monad.hpp
+++ b/boost/hana/detail/operators/monad.hpp
@@ -2,7 +2,7 @@
@file
Defines operators for Monads.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/operators/orderable.hpp b/boost/hana/detail/operators/orderable.hpp
index f60f14bbde..cf46829a04 100644
--- a/boost/hana/detail/operators/orderable.hpp
+++ b/boost/hana/detail/operators/orderable.hpp
@@ -2,7 +2,7 @@
@file
Defines operators for Orderables.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/operators/searchable.hpp b/boost/hana/detail/operators/searchable.hpp
index 7b4cc231e7..69d67465da 100644
--- a/boost/hana/detail/operators/searchable.hpp
+++ b/boost/hana/detail/operators/searchable.hpp
@@ -2,7 +2,7 @@
@file
Defines operators for Searchables.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/preprocessor.hpp b/boost/hana/detail/preprocessor.hpp
index a0432e8b44..cdeba70444 100644
--- a/boost/hana/detail/preprocessor.hpp
+++ b/boost/hana/detail/preprocessor.hpp
@@ -2,7 +2,7 @@
@file
Defines generally useful preprocessor macros.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/std_common_type.hpp b/boost/hana/detail/std_common_type.hpp
index 2eb0d6847e..b5fe6f318e 100644
--- a/boost/hana/detail/std_common_type.hpp
+++ b/boost/hana/detail/std_common_type.hpp
@@ -2,7 +2,7 @@
@file
Defines a SFINAE-friendly version of `std::common_type`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/struct_macros.erb.hpp b/boost/hana/detail/struct_macros.erb.hpp
index dfd94b1340..2cdc419593 100644
--- a/boost/hana/detail/struct_macros.erb.hpp
+++ b/boost/hana/detail/struct_macros.erb.hpp
@@ -23,7 +23,7 @@
Defines the `BOOST_HANA_DEFINE_STRUCT`, `BOOST_HANA_ADAPT_STRUCT`, and
`BOOST_HANA_ADAPT_ADT` macros.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/struct_macros.hpp b/boost/hana/detail/struct_macros.hpp
index daeeb8a57a..ff361c3570 100644
--- a/boost/hana/detail/struct_macros.hpp
+++ b/boost/hana/detail/struct_macros.hpp
@@ -7,7 +7,7 @@
Defines the `BOOST_HANA_DEFINE_STRUCT`, `BOOST_HANA_ADAPT_STRUCT`, and
`BOOST_HANA_ADAPT_ADT` macros.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/type_at.hpp b/boost/hana/detail/type_at.hpp
index 5875483d24..c7b8311f47 100644
--- a/boost/hana/detail/type_at.hpp
+++ b/boost/hana/detail/type_at.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::type_at`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/type_foldl1.hpp b/boost/hana/detail/type_foldl1.hpp
index 98f2947427..b65e3463fe 100644
--- a/boost/hana/detail/type_foldl1.hpp
+++ b/boost/hana/detail/type_foldl1.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::type_foldl1`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/type_foldr1.hpp b/boost/hana/detail/type_foldr1.hpp
index 3453d4467b..badf1b03d6 100644
--- a/boost/hana/detail/type_foldr1.hpp
+++ b/boost/hana/detail/type_foldr1.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::type_foldr1`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/unpack_flatten.hpp b/boost/hana/detail/unpack_flatten.hpp
index f72501a644..0c65e803bb 100644
--- a/boost/hana/detail/unpack_flatten.hpp
+++ b/boost/hana/detail/unpack_flatten.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::unpack_flatten`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/variadic/at.hpp b/boost/hana/detail/variadic/at.hpp
index 705d0e2ccc..9ef9e2944d 100644
--- a/boost/hana/detail/variadic/at.hpp
+++ b/boost/hana/detail/variadic/at.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::variadic::at`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/variadic/drop_into.hpp b/boost/hana/detail/variadic/drop_into.hpp
index 9e5a80f5dd..b31d1e98d5 100644
--- a/boost/hana/detail/variadic/drop_into.hpp
+++ b/boost/hana/detail/variadic/drop_into.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::variadic::drop_into`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/variadic/foldl1.hpp b/boost/hana/detail/variadic/foldl1.hpp
index ad2946b05f..320755f7c7 100644
--- a/boost/hana/detail/variadic/foldl1.hpp
+++ b/boost/hana/detail/variadic/foldl1.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::variadic::foldl1`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/variadic/foldr1.hpp b/boost/hana/detail/variadic/foldr1.hpp
index 88b5c95305..6221451d90 100644
--- a/boost/hana/detail/variadic/foldr1.hpp
+++ b/boost/hana/detail/variadic/foldr1.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::variadic::foldr1`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/variadic/reverse_apply.hpp b/boost/hana/detail/variadic/reverse_apply.hpp
index 08444a1035..b276fa4177 100644
--- a/boost/hana/detail/variadic/reverse_apply.hpp
+++ b/boost/hana/detail/variadic/reverse_apply.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::variadic::reverse_apply`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/variadic/reverse_apply/flat.hpp b/boost/hana/detail/variadic/reverse_apply/flat.hpp
index 6cd7bed53a..09bc818e6b 100644
--- a/boost/hana/detail/variadic/reverse_apply/flat.hpp
+++ b/boost/hana/detail/variadic/reverse_apply/flat.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::variadic::reverse_apply_flat`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/variadic/reverse_apply/unrolled.hpp b/boost/hana/detail/variadic/reverse_apply/unrolled.hpp
index 5cddf3c2c1..e6bf3d0c55 100644
--- a/boost/hana/detail/variadic/reverse_apply/unrolled.hpp
+++ b/boost/hana/detail/variadic/reverse_apply/unrolled.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::variadic::reverse_apply_unrolled`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/variadic/split_at.hpp b/boost/hana/detail/variadic/split_at.hpp
index 07e75088a6..c068c1bcb9 100644
--- a/boost/hana/detail/variadic/split_at.hpp
+++ b/boost/hana/detail/variadic/split_at.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::variadic::split_at`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/variadic/take.hpp b/boost/hana/detail/variadic/take.hpp
index 01da4b5b29..4d97a5b853 100644
--- a/boost/hana/detail/variadic/take.hpp
+++ b/boost/hana/detail/variadic/take.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::variadic::take`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/void_t.hpp b/boost/hana/detail/void_t.hpp
index f8152d378f..9eedd11441 100644
--- a/boost/hana/detail/void_t.hpp
+++ b/boost/hana/detail/void_t.hpp
@@ -2,7 +2,7 @@
@file
Defines an equivalent to the proposed `std::void_t`.
-@copyright Louis Dionne 2013-2016
+@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)
*/
diff --git a/boost/hana/detail/wrong.hpp b/boost/hana/detail/wrong.hpp
index 99ca630dd1..ce5544fcdf 100644
--- a/boost/hana/detail/wrong.hpp
+++ b/boost/hana/detail/wrong.hpp
@@ -2,7 +2,7 @@
@file
Defines `boost::hana::detail::wrong`.
-@copyright Louis Dionne 2013-2016
+@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)
*/