Louis Dionne
b21fdc32de
[Detail] Remove obsolete detail::wrap utility
2015-04-10 09:38:32 -04:00
Louis Dionne
17169d99d3
[Constant] Document conversions, embeddings and related material. Fix TODOS
2015-04-09 11:18:03 -04:00
Louis Dionne
22b82faacc
[Detail] Optimize the left and right variadic folds
2015-04-08 11:20:00 -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
3c2aa421b5
[Tuple] Provide efficient folds for tuple_t
...
Fixes #32
2015-04-06 14:28:09 -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
ab1d294cec
[Tests] Remove obsolete automatic tests in test/auto.
2015-03-26 02:08:44 -04:00
Louis Dionne
2bd2b1239c
Fix bugs with copy constructors in almost all the containers
2015-03-22 12:15:32 -04:00
Louis Dionne
52afb17a43
[Tests] Split unit tests in a much more clever way using CMake
2015-03-18 19:28:21 -04:00
Louis Dionne
5ab6925364
[Test] Fix some tests that fail on Travis and remove warnings
2015-03-15 00:18:31 -04:00
Louis Dionne
7a309d08c6
[Type] Remove some places where we read from non-constexpr variables
2015-03-13 19:54:28 -04:00
Louis Dionne
d525c20397
[Detail] Add an helper to compute tuple cartesian products
2015-03-07 12:09:02 -05:00
Louis Dionne
9388fe52eb
[CMake + Config] Successfully compile on Clang 3.5 and improve diagnostics
...
Also disable fusion's adapters tests, which are currently broken
2015-03-05 09:35:06 -05:00
Louis Dionne
065b910128
Update copyright year.
2015-03-03 14:16:50 -05:00
Louis Dionne
dd86906e2d
[Tuple] Make sure _tuple is default constructible when its elements are
2015-02-28 11:35:33 -05:00
Louis Dionne
aa6eac6c3d
[Config] Move BOOST_HANA_CONSTEXPR_LAMBDA to config.hpp
2015-02-25 10:20:12 -05:00
Louis Dionne
3e78af4bcb
[Tuple] Use make<Tuple>(...) instead of tuple(...)
2015-02-22 16:50:01 -05:00
Louis Dionne
7dad374f1f
[Tuple] Fix a nasty double-move in flatten
2015-02-22 16:50:00 -05:00
Louis Dionne
9c32ebe263
[Detail] Remove detail::n_times, which is replaced by int_<i>.times
2015-02-10 20:03:49 -05:00
Louis Dionne
2604c9eb53
[Detail] Add the CanonicalConstant helper
2015-02-10 18:03:18 -05:00
Louis Dionne
6f267bd37b
Add detail::generate_integer_sequence
.
2015-01-13 15:49:30 -05:00
Louis Dionne
0371952337
Make while_
part of Logical
2014-12-06 16:30:14 -05:00
Louis Dionne
51912d8661
Add detail::while_
and detail::until
.
2014-11-29 12:17:25 -05:00
Louis Dionne
8756e81977
Add boost/hana/config.hpp and BOOST_HANA_*_CHECK macros.
2014-11-10 17:52:33 -05:00
Louis Dionne
19b5cd44cf
Improve unit tests for detail::create
2014-11-07 21:33:24 -05:00
Louis Dionne
049046478e
Move ASSERT macros out of the details
2014-11-04 09:43:44 -05:00
Louis Dionne
1e8726f394
Make the tuple implementation constexpr-friendly.
...
- Move the lambda-based tuple to the sandbox
- Use the multiple inheritance based tuple instead
2014-11-04 09:02:31 -05:00
Louis Dionne
647ad436b0
Reorganize the unit tests and increase the overall coverage.
2014-11-04 08:54:58 -05:00
Louis Dionne
217e1d2b46
Add BOOST_HANA_ASSERT.
2014-11-03 10:22:19 -05:00
Louis Dionne
f33c23b67e
Add an alternative tuple implementation using multiple inheritance.
2014-11-03 10:22:19 -05:00
Louis Dionne
8590ce9376
Add detail::reverse_partial
2014-10-28 14:38:49 -04:00
Louis Dionne
c37916cdd4
Make variadic folds function objects.
2014-10-28 14:22:59 -04:00
Louis Dionne
a6310a046d
Simplify the closure type
2014-10-28 14:22:58 -04:00
Louis Dionne
629b487d4c
Add the detail::create utility.
2014-10-28 13:51:05 -04:00
Louis Dionne
220d92ed82
Use a nested hana struct to customize stuff inside user defined objects.
2014-10-27 15:24:14 -04:00
Louis Dionne
c2541c3713
Add detail::closure based on multiple-inheritance
2014-10-25 14:34:31 -04:00
Louis Dionne
002320cdf6
Add variadic take and variadic split_at.
2014-10-11 15:58:04 -04:00
Louis Dionne
d06cd559ba
Add the times method to Integrals
2014-09-29 16:31:59 -04:00
Louis Dionne
a434f561d4
Add perfect forwarding in variadic folds and for_each.
2014-09-26 15:29:36 -04:00
Louis Dionne
a44e9b8d17
Benchmark a different way of reversing a parameter pack.
2014-09-22 11:13:28 -04:00
Louis Dionne
980cda48ef
Detail: add variadic::drop_into
2014-09-01 10:02:45 -04:00
Louis Dionne
faef709431
Minor improvements:
...
- Test that detail::variadic::at can handle const objects
- Add perfect forwarding in functional/id
- Sandbox: experiment with a std compatible tuple
2014-08-31 10:16:03 -04:00
Louis Dionne
919bc2f465
Move for_each to Foldable and optimize it with unpack
2014-08-28 12:53:33 -04:00
Louis Dionne
d6b765f794
Add variadic::reverse_apply
2014-08-28 10:47:35 -04:00
Louis Dionne
307d3d0ec8
Huge reorganization and refactoring.
...
- Split type class instances into separate files
- Instances provided automatically by a type class are actually MCDs
- Test each instance in a single file, not one file per method
- Refactor the operator system to fix the ADL-related bug.
2014-08-18 19:26:29 -04:00
Louis Dionne
7894be3e2f
Searchable: add the subset
method
2014-08-16 14:25:58 -04:00
Louis Dionne
1d986e4c04
Refactor the unit tests and examples
...
In particular, merge some unit tests and examples to reduce compilation
times.
2014-08-10 15:42:03 -04:00
Louis Dionne
4c13c21f91
Add the IntegralDomain type class
2014-08-10 12:57:37 -04:00
Louis Dionne
356ee03483
Refactor the unit tests and remove some minimal instances
2014-08-09 17:49:16 -04:00
Louis Dionne
3d5acb2080
Remove old scattered operations on variadics
2014-08-07 17:56:30 -04:00
Louis Dionne
c7af842ea5
Detail: refactor variadic folds and at
2014-08-06 17:59:24 -04:00
Louis Dionne
d132db0ebf
Use finer grained assertions acknowledging Constants
2014-08-05 10:37:54 -04:00
Louis Dionne
8a8ff797ab
Split Core into subdirectories to reduce dependencies.
2014-07-30 11:15:26 -04:00
Louis Dionne
9199f53ae2
Reintroduce foldl optimizations for TypeList.
2014-07-29 01:26:18 -04:00
Louis Dionne
c816fbe112
Remove almost all dependencies on the standard library.
2014-07-21 21:07:14 -04:00
Louis Dionne
7e8f109d7f
Modularize List and add a minimal instance
2014-07-16 16:26:23 -04:00
Louis Dionne
cf531e560e
List: use a more efficient right fold.
2014-07-13 11:42:03 -04:00
Louis Dionne
48bb45394f
Type: add a not-too-dirty way to optimize metafunction classes.
2014-07-07 21:33:06 -04:00
Louis Dionne
1cc9387998
Add detail::wrap.
2014-06-26 12:51:26 -04:00
Louis Dionne
ec10170b57
Use the new dispatching system with Foldable and Functor.
2014-06-12 07:02:24 -04:00
Louis Dionne
9b1cdd81b9
Comparable: update the dispatching system
2014-06-11 16:43:10 -04:00
Louis Dionne
1d81e02944
Fix a bug with c-style variadics in at_index and improve arg<>
2014-06-10 15:12:49 -04:00
Louis Dionne
2567066828
Type: documentation and decoupling
2014-06-08 16:41:52 -04:00
Louis Dionne
806981bbcf
Functional: remove argwise, add on and lockstep
2014-06-04 11:29:00 -04:00
Louis Dionne
91689fe4f0
Make the header comment and license uniform.
2014-06-03 11:46:24 -04:00
Louis Dionne
4b61774472
Add lazy_foldr to Foldable.
2014-06-03 11:38:54 -04:00
Louis Dionne
eda7ea303a
Add a more efficient at_index algorithm.
2014-05-26 14:21:29 -04:00
Louis Dionne
316f6a14ec
Optimize foldl for lifted computations.
2014-05-25 09:51:41 -04:00
Louis Dionne
fd567bd8b1
Add homemade integer_sequence.
...
<utility> is way too large to include just for that.
2014-05-24 15:41:46 -04:00
Louis Dionne
b9e8bf180d
Add left_folds::variadic_unrolled.
2014-05-23 16:00:40 -04:00
Louis Dionne
b7440c5190
Use constexpr lambdas whenever possible. Wow.
2014-05-20 18:29:38 -04:00
Louis Dionne
d6819d4dc6
Add the Comparable type class.
2014-05-18 17:57:01 -04:00
Louis Dionne
033770cc42
Add zip_with to List and improve Foldable.
2014-05-18 15:26:35 -04:00