2
0
mirror of https://github.com/boostorg/hana.git synced 2026-01-23 05:32:13 +00:00
Commit Graph

1093 Commits

Author SHA1 Message Date
Louis Dionne
5e45f3d0ff Teach Hana how to forward declare reference_wrapper on Windows 2016-02-17 22:44:43 -05:00
Louis Dionne
0fad2b915f [lazy] Add support for reference_wrapper in make_lazy 2016-02-17 22:44:43 -05:00
Louis Dionne
e2f764f2f7 [optional] Add support for reference_wrapper in just() 2016-02-17 22:44:43 -05:00
Louis Dionne
ec3aff9576 [pair] Support reference_wrappers in make_pair 2016-02-17 22:44:43 -05:00
Louis Dionne
f5348c9be2 [tuple] Support reference_wrappers in make_tuple 2016-02-17 22:44:43 -05:00
Louis Dionne
ea309d5f79 [detail] Add detail::as_container_element to support reference_wrappers 2016-02-17 22:44:42 -05:00
Louis Dionne
eaa4cd7f8e [map] Reimplement hana::map using a hash table 2016-02-16 15:50:41 -05:00
Louis Dionne
3a2ad0b2b5 [Hashable] Improve documentation and tests 2016-02-16 15:24:23 -05:00
Jason Rice
da29858d1b [hash] type-level hash for associative containers
- Hashable concept
    - hash function
2016-02-16 15:24:23 -05:00
Louis Dionne
e5e9c44825 [types] Add a fast contains function based on detail::any_of 2016-02-15 10:14:03 -05:00
Louis Dionne
ce03e0cc75 [detail] Add a fast any_of metafunction using SFINAE 2016-02-15 10:14:03 -05:00
Louis Dionne
357aeea527 [experimental] Add types<>, a Sequence specialized for holding types 2016-02-15 10:14:03 -05:00
Louis Dionne
b1696fe0cc [Metafunction] Do not automatically call decltype_ on metafunction arguments 2016-02-15 10:07:08 -05:00
Louis Dionne
6e257fa7e1 [flatten] Extract the computation into unpack_flatten 2016-02-12 15:16:49 -05:00
Louis Dionne
18346fd8a1 [doc][value] Add note about value being an overloaded function 2016-02-12 12:42:19 -05:00
Louis Dionne
7f7c7a19a9 [core] Add embedding from char to any integral type with proper signedness 2016-02-11 11:28:10 -05:00
Louis Dionne
31aa2e6f60 [core] Use signed keyword on signed integer types to define embeddings 2016-02-11 11:18:11 -05:00
Louis Dionne
30be9a677a [core] Mark conversion from 'char' to 'short' as embedding 2016-02-11 10:42:35 -05:00
Louis Dionne
80b78deee1 [doc] Fix typos in integral_constant 2016-02-07 11:30:29 -05:00
Louis Dionne
75f6be09ce Return references from at, at_key & friends
Resolves #90
2016-02-05 18:19:23 -05:00
Louis Dionne
da0c4975da Use T const& instead of T&& for keys in find and at_key
Using T&& is pointless and it makes the code slightly more complex.
2016-02-05 18:19:23 -05:00
Jason Rice
bae4dc1d8d [documentation] operator documentation 2016-02-05 18:14:17 -05:00
Louis Dionne
91b7977df3 [map] Make the template parameters of hana::map implementation-defined
Also, use implementation_defined instead of implementation-defined
as a keyword in the documentation, since implementation-defined is
sometimes mis-rendered by Doxygen.
2016-01-31 15:05:18 -05:00
Louis Dionne
f0ea20f7e8 [map] Add a default constructor
Closes #197
2016-01-31 14:51:48 -05:00
Louis Dionne
c8a886d649 [sort] Reimplement sort with a type-level insertion sort 2016-01-27 18:20:53 -05:00
Louis Dionne
65e1aa850f Add benchmarks for the sort algorithm 2016-01-27 16:15:43 -05:00
Louis Dionne
bfbb9f826c [sort] Make the requirements of the predicate more strict 2016-01-27 16:15:43 -05:00
Louis Dionne
73a7c5aba9 [benchmarks] Add benchmarks for at_key and find_if
Also slightly improve the benchmarking framework:
  - Allow passing an additional environment to benchmarks
  - Add the directory of the .erb.cpp file to the include path
  - Output stdout when a compilation error occurs
2016-01-25 20:11:50 -05:00
Louis Dionne
c34f0d0f61 [doc] Add a link to the section on tag-dispatching from hana::when
Addresses a question asked on Gitter.
2016-01-22 07:55:38 -05:00
Jason Rice
2b0ede886e [printable] metafunctions 2016-01-18 15:27:00 -05:00
Louis Dionne
9b93fb0eb0 Add experimental views
Closes #193
2016-01-15 10:17:46 -05:00
Louis Dionne
dc90dc52d0 Fix some Boost-inspect errors
- Non-ASCII characters
- Files not ending with a newline
- Missing copyright notices
2016-01-13 12:38:09 -05:00
Louis Dionne
6f1d408c00 [doc] Turn concepts into groups in the documentation
Fixes #133:
    Each function now automatically documents the file where it is
    declared.

Partially addresses #233:
    The alphabetical index now works properly
2016-01-12 11:01:30 -05:00
Louis Dionne
81ddcfafaf Rename take to take_front
This improves consistency:
drop_front/drop_back
take_front/take_back
2016-01-12 10:10:03 -05:00
Louis Dionne
131c56c32a Add the take_back algorithm 2016-01-12 10:00:11 -05:00
Louis Dionne
d60646237d [core] Rename core/convert.hpp to core/to.hpp 2016-01-10 18:32:57 -05:00
Louis Dionne
ed308613a8 [doc] Fix issue with undocumented boost::hana namespace 2016-01-09 14:16:55 -08:00
Louis Dionne
72adb9ee51 [Doc] Fix minor nitpick with for_each's documented definition 2016-01-06 15:30:37 -05:00
Louis Dionne
7e04b36268 Add BOOST_HANA_ENABLE_DEBUG_MODE and optional checks in make_set and make_map
Closes #230
2016-01-06 09:25:41 -05:00
Louis Dionne
5e62da18a1 [string] Modularize the unit tests
Also workaround a missing #include in string.hpp
2016-01-04 10:34:18 -05:00
Louis Dionne
c41a5cb6be Update copyright notices for 2016 2016-01-01 14:54:06 -05:00
Jason Rice
b7ee8d750d [bug] predicate to bool in find_if default impl
Related #221
 - decay result of predicate
2015-12-22 11:01:19 -05:00
Louis Dionne
1d57e8669e [std::tuple] Add a test to make sure we workaround libc++ bug 22806 2015-12-21 21:21:37 -05:00
Louis Dionne
af881d3fa2 [Assert] Add xxx_MSG versions of the assertion macros
Fixes #216
2015-12-18 15:04:20 -05:00
Louis Dionne
a723f28650 [detail] Support __VA_ARGS__ in PP_STRINGIZE 2015-12-18 14:17:26 -05:00
Louis Dionne
b55260b3f4 [if_] Fix lifetime issue introduced in d93a7c8 2015-12-17 08:40:22 -05:00
Louis Dionne
d93a7c81c3 [if_] Hold branches by reference instead of moving them in 2015-12-16 14:06:55 -05:00
Louis Dionne
401204d238 [experimental] Remove unused experiment with fold expressions 2015-12-16 14:06:55 -05:00
Jason Rice
35449972d3 [bug] convert predicate results to bool
[ldionne: Minor reformatting (add spaces after //)]

Fixes #221
Closes #222
2015-12-16 11:55:24 -05:00
Louis Dionne
95c8d6ab50 [find_if] Support predicates that return an int.
Fixes #221
2015-12-11 15:57:51 -05:00