Louis Dionne
daaba5dfd8
[Map] Provide model of Foldable, improve docs and add insert method.
...
Fixes #41
2015-04-11 12:09:01 -04:00
Louis Dionne
8bd84a5d4b
[Metafunction] Generalize trait to arbitrary Metafunctions and improve docs
2015-04-11 09:29:06 -04:00
Louis Dionne
e77b55b1b4
[Iterable] Precise the laws
2015-04-10 18:00:49 -04:00
Louis Dionne
08e55a7bb6
Rework the relations between Foldable, Iterable and Searchable.
2015-04-10 17:46:14 -04:00
Louis Dionne
c434f134ba
[Applicative] Implement automatic law checking
2015-04-10 13:17:51 -04:00
Louis Dionne
06ed355b0d
[Traversable] Document the laws
2015-04-10 12:21:52 -04:00
Louis Dionne
b21fdc32de
[Detail] Remove obsolete detail::wrap utility
2015-04-10 09:38:32 -04:00
Louis Dionne
e8412cfc6a
[Detail] Regroup the STL concepts into detail/concepts.hpp
2015-04-10 09:34:17 -04:00
Louis Dionne
a12315c1a6
[Detail] Add constexpr algorithms and use them in the implementation
2015-04-10 08:33:18 -04:00
Louis Dionne
17169d99d3
[Constant] Document conversions, embeddings and related material. Fix TODOS
2015-04-09 11:18:03 -04:00
Louis Dionne
8026bd1e48
[Sequence] Require the natural isomorphism to be bijective in the laws
2015-04-09 09:38:10 -04:00
Louis Dionne
55e4a1d083
[Sequence] Try to formulate laws that make sense and improve the documentation
2015-04-09 09:27:09 -04:00
Louis Dionne
818148de6e
[Core] Document undefined behavior with operators
2015-04-08 18:28:15 -04:00
Louis Dionne
b436ff0ee6
[Sequence] Settle on the semantics of the slice function
...
Fixes #36
2015-04-08 17:56:28 -04:00
Louis Dionne
bccfabdef7
Add interface-level assertions in bi-dispatched methods too.
2015-04-08 17:29:57 -04:00
Louis Dionne
d85b0f7b5b
[String] Fix placement of BOOST_HANA_STRING in the documentation
2015-04-08 12:54:20 -04:00
Louis Dionne
f1cfe4ad78
[IntegralConstant] Optimize if_ and eval_if
2015-04-08 12:28:07 -04:00
Louis Dionne
3053736ddd
[Tuple] Optimize the equal method
2015-04-08 11:30:00 -04:00
Louis Dionne
22b82faacc
[Detail] Optimize the left and right variadic folds
2015-04-08 11:20:00 -04:00
Louis Dionne
bdfeb46d88
Remove outdated TODOS
2015-04-07 21:41:54 -04:00
Louis Dionne
546d0dea7b
[Tutorial] Remove redundant explanation of BOOST_HANA_CONSTANT_CHECK
2015-04-07 20:20:17 -04:00
Louis Dionne
80e0adf4e8
[Core] Move wrong to the detail namespace
2015-04-07 19:37:28 -04:00
Louis Dionne
5c1a752a9f
[Pair] Remove the pair constructor in favor of make_pair
2015-04-07 19:26:59 -04:00
Louis Dionne
dbdd7e61e9
[Functor] Document natural transformations
2015-04-07 19:09:38 -04:00
Louis Dionne
bcefabf759
[Functional] Rewrite the documentation for demux
2015-04-07 18:42:43 -04:00
Louis Dionne
0246c59c6c
[Sandbox] Remove the hana/sandbox folder and put everything in test/sandbox
2015-04-07 16:52:20 -04:00
Louis Dionne
40216cde23
[MonadPlus] Add the remove and remove_if functions to MonadPlus
2015-04-07 16:27:39 -04:00
Louis Dionne
0a46420c02
[Type] Major refactoring and improvements
...
- Make decltype_ the identity on Types
- Add the alignof_ function
- Allow sizeof_ to work with non-Types
- Remove the trait_ helper
- Allow Metafunctions to be called with non-Types
- Add make<Type>, which is equivalent to decltype_
2015-04-07 12:12:52 -04:00
Louis Dionne
84bc1a6a06
[Functional] Group the examples into a single file
2015-04-06 14:58:04 -04:00
Louis Dionne
3c2aa421b5
[Tuple] Provide efficient folds for tuple_t
...
Fixes #32
2015-04-06 14:28:09 -04:00
Louis Dionne
125fd45bfd
[Functional] Add the overload_linearly utility
2015-04-06 14:11:42 -04:00
Louis Dionne
13392c7ed2
[Foldable] Use overloads for {maximum,minimum}_by
2015-04-01 19:28:42 -04:00
Louis Dionne
eb4f07a61c
[Sequence] Use overloads for sort/sort_by and group/group_by
2015-04-01 19:28:42 -04:00
Louis Dionne
aaaab0e11d
[Foldable] Allow specifying the Monoid/Ring for sum/product
...
Fixes #33
2015-04-01 16:19:37 -04:00
Louis Dionne
ccb2e05343
[Tuple] Move some issues to GitHub
2015-04-01 10:56:15 -04:00
Louis Dionne
38e02e9f53
[Sequence] Rename scan{l,r,l1,r1} similarly to folds
2015-03-31 17:55:27 -04:00
Louis Dionne
fe36fcd778
[Foldable] Workaround Clang 3.5/3.6 ICE in the monadic folds
2015-03-30 21:17:17 -04:00
Louis Dionne
a215f0a1b1
[Monad] Add tests for the bind method for Sequences
2015-03-30 18:30:59 -04:00
Louis Dionne
59d7e36726
[Sequence] Rename unfolds and flip their parameters
2015-03-30 18:17:42 -04:00
Louis Dionne
2c86ba2390
[Foldable] Rename the different fold variants
...
- Rename fold{l,r,l1,r1} to fold.{right,left} with overloads.
- Rename foldlM/foldrM to monadic_fold.{left,right}
- Add no-state variants of the monadic folds
- Improve the fold's documentation
- Deprecate the previous folds; they'll be removed soon
Fixes #18 .
2015-03-30 17:29:37 -04:00
Louis Dionne
540f665e51
Use static_cast<T&&> instead of forward<T> to reduce compile-times
...
It might seem overkill to do this, but I measured:
static_cast:
make compile.test.tuple 92.58s user 4.85s system 99% cpu 1:37.93 total
make compile.test.tuple 91.89s user 4.78s system 99% cpu 1:37.07 total
make compile.test.tuple 92.51s user 4.77s system 99% cpu 1:37.73 total
make compile.test.tuple 95.91s user 5.16s system 99% cpu 1:41.60 total
avg: 98.1125s
forward:
make compile.test.tuple 108.16s user 5.50s system 99% cpu 1:54.36 total
make compile.test.tuple 110.00s user 5.55s system 99% cpu 1:56.17 total
make compile.test.tuple 108.41s user 5.47s system 99% cpu 1:54.46 total
make compile.test.tuple 107.31s user 5.54s system 99% cpu 1:53.46 total
avg: 113.985s
This shows an improvement of the average by 15.8725s, which
represents about 13.9%.
2015-03-29 11:14:24 -04:00
Louis Dionne
a98d32cae1
[Maybe] *just(x) is now equivalent to from_just
2015-03-29 10:39:04 -04:00
Louis Dionne
b62460d22f
[std::tuple] Workaround libc++ bug 22806
2015-03-29 10:07:13 -04:00
Louis Dionne
1f9fcb7aca
[boost::tuple] Fix dangling reference bug
2015-03-29 01:31:31 -04:00
Louis Dionne
7402a010ec
[Tests] Track test::integer and use hana::capture instead of lambda capture to workaround Clang bug
2015-03-29 01:31:31 -04:00
Louis Dionne
637c5270ab
[Functional] Add hana::capture
2015-03-28 22:22:13 -04:00
Louis Dionne
961fd14632
[Assert] Workaround Clang bug caused by closure in BOOST_HANA_CHECK
2015-03-28 22:22:12 -04:00
Louis Dionne
4390aa98df
[Maybe] Fix bug in sfinae with non-pod arguments
2015-03-28 20:44:22 -04:00
Louis Dionne
d49db6d698
Fix dangling reference bugs in several adapters
2015-03-26 09:38:29 -04:00
Louis Dionne
beb72c224f
Remove some more usage of lambdas
2015-03-26 02:08:44 -04:00