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