hana.hpp 6.6 KB

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