1 /*!
2 @file
3 Includes all the library components except the adapters for external
4 libraries.
5 
6 @copyright Louis Dionne 2013-2017
7 Distributed under the Boost Software License, Version 1.0.
8 (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
9  */
10 
11 #ifndef BOOST_HANA_HPP
12 #define BOOST_HANA_HPP
13 
14 //! @defgroup group-concepts Concepts
15 //! Concepts provided by the library.
16 
17 //! @defgroup group-datatypes Data types
18 //! General purpose data types provided by the library.
19 
20 //! @defgroup group-functional Functional
21 //! General purpose function objects.
22 
23 //! @defgroup group-core Core
24 //! Core utilities of the library.
25 
26 //! @defgroup group-experimental Experimental features
27 //! Experimental features that may or may not make it into the library.
28 //! These features should not expected to be stable.
29 
30 //! @defgroup group-ext External adapters
31 //! Adapters for external libraries.
32 
33 //! @defgroup group-config Configuration options
34 //! Configurable options to tweak the global behavior of the library.
35 
36 //! @defgroup group-assertions Assertions
37 //! Macros to perform different kinds of assertions.
38 
39 //! @defgroup group-details Details
40 //! Implementation details. Do not rely on anything here, even if it is
41 //! documented.
42 
43 // Include config.hpp first, so that warning messages about compiler support
44 // appear as soon as possible.
45 #include <boost/hana/config.hpp>
46 
47 
48 #ifdef BOOST_HANA_DOXYGEN_INVOKED
49 namespace boost {
50     //! Namespace containing everything in the library.
51     namespace hana {
52         //! Namespace containing C++14 user-defined literals provided by Hana.
53         namespace literals {}
54     }
55 }
56 #endif
57 
58 #include <boost/hana/accessors.hpp>
59 #include <boost/hana/adapt_adt.hpp>
60 #include <boost/hana/adapt_struct.hpp>
61 #include <boost/hana/adjust.hpp>
62 #include <boost/hana/adjust_if.hpp>
63 #include <boost/hana/all.hpp>
64 #include <boost/hana/all_of.hpp>
65 #include <boost/hana/and.hpp>
66 #include <boost/hana/any.hpp>
67 #include <boost/hana/any_of.hpp>
68 #include <boost/hana/ap.hpp>
69 #include <boost/hana/append.hpp>
70 #include <boost/hana/assert.hpp>
71 #include <boost/hana/at.hpp>
72 #include <boost/hana/at_key.hpp>
73 #include <boost/hana/back.hpp>
74 #include <boost/hana/basic_tuple.hpp>
75 #include <boost/hana/bool.hpp>
76 #include <boost/hana/cartesian_product.hpp>
77 #include <boost/hana/chain.hpp>
78 #include <boost/hana/comparing.hpp>
79 #include <boost/hana/concat.hpp>
80 #include <boost/hana/concept.hpp>
81 #include <boost/hana/contains.hpp>
82 #include <boost/hana/core.hpp>
83 #include <boost/hana/count.hpp>
84 #include <boost/hana/count_if.hpp>
85 #include <boost/hana/cycle.hpp>
86 #include <boost/hana/define_struct.hpp>
87 #include <boost/hana/difference.hpp>
88 #include <boost/hana/div.hpp>
89 #include <boost/hana/drop_back.hpp>
90 #include <boost/hana/drop_front.hpp>
91 #include <boost/hana/drop_front_exactly.hpp>
92 #include <boost/hana/drop_while.hpp>
93 #include <boost/hana/duplicate.hpp>
94 #include <boost/hana/empty.hpp>
95 #include <boost/hana/equal.hpp>
96 #include <boost/hana/erase_key.hpp>
97 #include <boost/hana/eval.hpp>
98 #include <boost/hana/eval_if.hpp>
99 #include <boost/hana/extend.hpp>
100 #include <boost/hana/extract.hpp>
101 #include <boost/hana/fill.hpp>
102 #include <boost/hana/filter.hpp>
103 #include <boost/hana/find.hpp>
104 #include <boost/hana/find_if.hpp>
105 #include <boost/hana/first.hpp>
106 #include <boost/hana/flatten.hpp>
107 #include <boost/hana/fold.hpp>
108 #include <boost/hana/fold_left.hpp>
109 #include <boost/hana/fold_right.hpp>
110 #include <boost/hana/for_each.hpp>
111 #include <boost/hana/front.hpp>
112 #include <boost/hana/functional.hpp>
113 #include <boost/hana/fuse.hpp>
114 #include <boost/hana/greater.hpp>
115 #include <boost/hana/greater_equal.hpp>
116 #include <boost/hana/group.hpp>
117 #include <boost/hana/index_if.hpp>
118 #include <boost/hana/if.hpp>
119 #include <boost/hana/insert.hpp>
120 #include <boost/hana/insert_range.hpp>
121 #include <boost/hana/integral_constant.hpp>
122 #include <boost/hana/intersection.hpp>
123 #include <boost/hana/intersperse.hpp>
124 #include <boost/hana/is_disjoint.hpp>
125 #include <boost/hana/is_empty.hpp>
126 #include <boost/hana/is_subset.hpp>
127 #include <boost/hana/keys.hpp>
128 #include <boost/hana/lazy.hpp>
129 #include <boost/hana/length.hpp>
130 #include <boost/hana/less.hpp>
131 #include <boost/hana/less_equal.hpp>
132 #include <boost/hana/lexicographical_compare.hpp>
133 #include <boost/hana/lift.hpp>
134 #include <boost/hana/map.hpp>
135 #include <boost/hana/max.hpp>
136 #include <boost/hana/maximum.hpp>
137 #include <boost/hana/members.hpp>
138 #include <boost/hana/min.hpp>
139 #include <boost/hana/minimum.hpp>
140 #include <boost/hana/minus.hpp>
141 #include <boost/hana/mod.hpp>
142 #include <boost/hana/monadic_compose.hpp>
143 #include <boost/hana/monadic_fold_left.hpp>
144 #include <boost/hana/monadic_fold_right.hpp>
145 #include <boost/hana/mult.hpp>
146 #include <boost/hana/negate.hpp>
147 #include <boost/hana/none.hpp>
148 #include <boost/hana/none_of.hpp>
149 #include <boost/hana/not.hpp>
150 #include <boost/hana/not_equal.hpp>
151 #include <boost/hana/one.hpp>
152 #include <boost/hana/optional.hpp>
153 #include <boost/hana/or.hpp>
154 #include <boost/hana/ordering.hpp>
155 #include <boost/hana/pair.hpp>
156 #include <boost/hana/partition.hpp>
157 #include <boost/hana/permutations.hpp>
158 #include <boost/hana/plus.hpp>
159 #include <boost/hana/power.hpp>
160 #include <boost/hana/prefix.hpp>
161 #include <boost/hana/prepend.hpp>
162 #include <boost/hana/product.hpp>
163 #include <boost/hana/range.hpp>
164 #include <boost/hana/remove.hpp>
165 #include <boost/hana/remove_at.hpp>
166 #include <boost/hana/remove_if.hpp>
167 #include <boost/hana/remove_range.hpp>
168 #include <boost/hana/repeat.hpp>
169 #include <boost/hana/replace.hpp>
170 #include <boost/hana/replace_if.hpp>
171 #include <boost/hana/replicate.hpp>
172 #include <boost/hana/reverse.hpp>
173 #include <boost/hana/reverse_fold.hpp>
174 #include <boost/hana/scan_left.hpp>
175 #include <boost/hana/scan_right.hpp>
176 #include <boost/hana/second.hpp>
177 #include <boost/hana/set.hpp>
178 #include <boost/hana/size.hpp>
179 #include <boost/hana/slice.hpp>
180 #include <boost/hana/sort.hpp>
181 #include <boost/hana/span.hpp>
182 #include <boost/hana/string.hpp>
183 #include <boost/hana/suffix.hpp>
184 #include <boost/hana/sum.hpp>
185 #include <boost/hana/symmetric_difference.hpp>
186 #include <boost/hana/take_back.hpp>
187 #include <boost/hana/take_front.hpp>
188 #include <boost/hana/take_while.hpp>
189 #include <boost/hana/tap.hpp>
190 #include <boost/hana/then.hpp>
191 #include <boost/hana/traits.hpp>
192 #include <boost/hana/transform.hpp>
193 #include <boost/hana/tuple.hpp>
194 #include <boost/hana/type.hpp>
195 #include <boost/hana/unfold_left.hpp>
196 #include <boost/hana/unfold_right.hpp>
197 #include <boost/hana/union.hpp>
198 #include <boost/hana/unique.hpp>
199 #include <boost/hana/unpack.hpp>
200 #include <boost/hana/value.hpp>
201 #include <boost/hana/version.hpp>
202 #include <boost/hana/while.hpp>
203 #include <boost/hana/zero.hpp>
204 #include <boost/hana/zip.hpp>
205 #include <boost/hana/zip_shortest.hpp>
206 #include <boost/hana/zip_shortest_with.hpp>
207 #include <boost/hana/zip_with.hpp>
208 
209 #endif // !BOOST_HANA_HPP
210