]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | /*! |
2 | @file | |
3 | Adapts `boost::fusion::tuple` for use with Hana. | |
4 | ||
5 | In the current version of Boost.Fusion, `boost::fusion::tuple` is basically | |
6 | an alias to `boost::fusion::vector`, so both data types share the same | |
7 | implementation in Hana. | |
8 | ||
9 | @copyright Louis Dionne 2013-2016 | |
10 | Distributed under the Boost Software License, Version 1.0. | |
11 | (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) | |
12 | */ | |
13 | ||
14 | #ifndef BOOST_HANA_EXT_BOOST_FUSION_TUPLE_HPP | |
15 | #define BOOST_HANA_EXT_BOOST_FUSION_TUPLE_HPP | |
16 | ||
17 | #include <boost/hana/config.hpp> | |
18 | #include <boost/hana/ext/boost/fusion/vector.hpp> | |
19 | ||
20 | ||
21 | #ifdef BOOST_HANA_DOXYGEN_INVOKED | |
22 | namespace boost { namespace fusion { | |
23 | //! @ingroup group-ext-fusion | |
24 | //! Adapter for Boost.Fusion tuples. | |
25 | //! | |
26 | //! | |
27 | //! Modeled concepts | |
28 | //! ---------------- | |
29 | //! A Fusion tuple is a model of the `Sequence` concept, and all the | |
30 | //! concepts it refines. That makes it essentially the same as a Hana | |
31 | //! tuple, although the complexity of some operations might differ from | |
32 | //! that of a tuple. | |
33 | //! | |
34 | //! @include example/ext/boost/fusion/tuple.cpp | |
35 | template <typename ...T> | |
36 | struct tuple { }; | |
37 | }} | |
38 | #endif | |
39 | ||
40 | ||
41 | BOOST_HANA_NAMESPACE_BEGIN | |
42 | namespace ext { namespace boost { namespace fusion { | |
43 | // In the current version of Boost.Fusion, `boost::fusion::tuple` is | |
44 | // basically an alias to `boost::fusion::vector`, hence the alias. | |
45 | using tuple_tag = vector_tag; | |
46 | }}} | |
47 | BOOST_HANA_NAMESPACE_END | |
48 | ||
49 | #endif // !BOOST_HANA_EXT_BOOST_FUSION_TUPLE_HPP |