Commit Graph

1973 Commits

Author SHA1 Message Date
Louis Dionne
fa2cdeef24 [Test] Remove outdated TODO items 2015-04-08 13:17:59 -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
ef609d990c [Test] Add a unit test for while_ for CNumerics 2015-04-07 19:00:50 -04:00
Louis Dionne
fa65252596 [Travis] Use travis_retry to workaround network issues and compile.all -k to see all failures 2015-04-07 18:50:56 -04:00
Louis Dionne
bcefabf759 [Functional] Rewrite the documentation for demux 2015-04-07 18:42:43 -04:00
Louis Dionne
fad34112bb [Test] Fix wrong argument order to TestMonadPlus in laws/templates/seq.hpp 2015-04-07 17:48:14 -04:00
Louis Dionne
8c8743fe5c [Test] Add a unit test for while_ 2015-04-07 17:47:33 -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
0819846fba [Example] Add a sequence based implementation of overload_linearly 2015-04-06 15:10:27 -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
20fd76a0f9 [README] Correct outdated description of the doc/ subdirectory
[skip ci]
2015-04-04 13:12:12 -04:00
Louis Dionne
6a08495ab7 [CMake] Use git commit --allow-empty when committing on gh-pages 2015-04-04 13:00:43 -04:00
Louis Dionne
f46df65b6d [Travis/Readme] Add Gitter integration 2015-04-03 16:39:35 -04:00
Louis Dionne
7021c2dd3c [Travis] Move to the container-based infrastructure
- Build libc++ properly on Travis (with CMake)
- Test against Boost trunk
- Build the documentation and push to gh-pages when on master
2015-04-03 13:42:15 -04:00
Louis Dionne
7f1d25226e [Travis] Properly link against libc++ 2015-04-02 08:49:41 -04:00
Louis Dionne
bad068b15f [CMake] Remove the doc/gh-pages submodule and use a clone instead 2015-04-02 02:14:16 -04:00
Louis Dionne
1d7f28f941 [CMake] Improve the build system
- Simplify the compiler flag logic
- Use WARNING instead of STATUS to report caveats
- Allow specifying a custom libc++ root directory
2015-04-02 00:50:58 -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
3986e3c870 [Sequence] Fix compilation error in Sequence example 2015-03-31 19:57:09 -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
0e1f5987b1 [Sequence] Fix stupid typo that broke compilation in the laws 2015-03-30 21:40:14 -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
679677ab38 [minimal_record] Fix a double-move bug 2015-03-29 01:31:32 -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
5e5ec2ec28 [Sublime] ⇧⌘B now compiles and runs the current file
[ci skip]
2015-03-28 17:26:26 -04:00