Louis Dionne
c353ccdd9b
[config][assert] Prepare support for constexpr lambdas in C++17
...
When C++17 is supported, constexpr lambdas can be used and CONSTEXPR_ASSERT
turns into an actual static_assert. This is not unconditionally enabled for
now because Clang does not support constexpr lambdas with captures (!).
2017-07-22 13:13:04 -07:00
Louis Dionne
9895803ede
Bump copyright year to 2017
2017-01-07 14:14:18 -08:00
Louis Dionne
23c3edc93b
[NFC] Un-Doxygenize comments in non-header files
2016-02-04 11:07:41 -05:00
Louis Dionne
c41a5cb6be
Update copyright notices for 2016
2016-01-01 14:54:06 -05:00
Louis Dionne
3707877225
[Iterable] Remove the tail function
...
Closes #158
2015-11-11 14:08:36 -05:00
Louis Dionne
41c64b39a9
[IntegralDomain] Rename quot/rem to div/mod
...
Fixes #180
2015-09-14 14:18:29 -04:00
Louis Dionne
1d7b720c95
[Enumerable] Remove that concept entirely.
...
Enumerable was not being used inside the library, and its usefulness
was questionable due to the lack of upper/lower bounds.
Closes #23
2015-09-12 17:59:58 -04:00
Louis Dionne
be5a787741
[CMake][Travis] Add support for building without exceptions
...
Also, swap the project() and the cmake_minimum_required() commands
in the top-level CMake file, as this silences a warning when building
on Cygwin. See #168 .
2015-09-07 23:19:31 -04:00
Louis Dionne
08f66d47c1
[IntegralConstant] Suffix variable templates with _c, and clean up type names
...
Along with PR #166 , this closes #122 because names have now been
cleaned up and are now consistent basically everywhere.
2015-09-01 16:34:04 -04:00
Louis Dionne
c2ed70ddf9
[Doc] Document hana::type instead of hana::Type
...
Precisely,
1. Rename hana::_type to hana::basic_type, and document it
2. Rename hana::type<> to hana::type_c<>
3. Create and document the hana::type<> type
2015-08-30 17:08:06 -04:00
Louis Dionne
f373b421f9
[Headers] Minimize the #includes in headers
...
- Allow specializing models_impl with a forward declaration only
- Modularize remaining concept headers
- Include <boost/hana.hpp> in unit tests to ease the transition
- Add the core/dispatch.hpp header to reduce the number of boilerplate includes
2015-08-26 11:27:28 -04:00
Louis Dionne
08b3db1708
[Examples] Modularize and use qualified names
...
This patch modularizes the examples, makes them self-contained and
also uses qualified hana:: names.
Fixes #139
Fixes #126
2015-08-15 17:50:40 +02:00
Louis Dionne
84bc1a6a06
[Functional] Group the examples into a single file
2015-04-06 14:58:04 -04:00
Louis Dionne
125fd45bfd
[Functional] Add the overload_linearly utility
2015-04-06 14:11: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
637c5270ab
[Functional] Add hana::capture
2015-03-28 22:22:13 -04:00
Louis Dionne
2ecedc140c
[Functional] Add the iterate
combinator
2015-03-25 12:26:04 -04:00
Louis Dionne
065b910128
Update copyright year.
2015-03-03 14:16:50 -05:00
Louis Dionne
f017c4493a
[Searchable] Swap {all,any,none} and their _of variant for consistency with the STL
2015-03-03 13:51:37 -05:00
Louis Dionne
aa6eac6c3d
[Config] Move BOOST_HANA_CONSTEXPR_LAMBDA to config.hpp
2015-02-25 10:20:12 -05:00
Louis Dionne
edd086423e
[Tuple] Replace tuple(...) by make<Tuple>(...) in the docs
2015-02-24 18:15:24 -05:00
Louis Dionne
3e78af4bcb
[Tuple] Use make<Tuple>(...) instead of tuple(...)
2015-02-22 16:50:01 -05:00
Louis Dionne
17d2ce584c
[Integral] Rename to IntegralConstant and improve the API
2015-02-10 20:03:49 -05:00
Louis Dionne
4654c6786a
Split instances for foreign types
2014-12-06 16:30:16 -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
b9472015d1
Add the overload utility to Functional
2014-11-07 20:31:26 -05:00
Louis Dionne
049046478e
Move ASSERT macros out of the details
2014-11-04 09:43:44 -05:00
Louis Dionne
57087cd249
Functional: make lockstep's syntax like demux's
2014-11-04 08:54:59 -05:00
Louis Dionne
d496ec6bbc
Change the syntax of demux
.
2014-10-16 19:32:09 -04:00
Louis Dionne
3147d9b5d5
Refactor and fix broken examples.
2014-08-25 12:33:49 -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
f2de95a841
Use detail::injection
instead of a std::tuple
in the tests
2014-08-16 14:25:57 -04:00
Louis Dionne
1d031b4556
Functional: add infix
and use it to implement on
2014-08-05 22:49:18 -04:00
Louis Dionne
d132db0ebf
Use finer grained assertions acknowledging Constants
2014-08-05 10:37:54 -04:00
Louis Dionne
c6f0420145
Functional: pimp the documentation
2014-07-30 15:21:39 -04:00
Louis Dionne
874c28eade
Functional: refactor to reduce coupling
2014-06-18 10:06:19 -04:00
Louis Dionne
6c2534216c
functional: add an example for a use case of always
2014-06-13 13:20:03 -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
a1ab4fab6b
Functional: add fbind
2014-06-04 11:54:09 -04:00
Louis Dionne
178b25476d
Functional: add arg<n>
2014-06-04 11:29:08 -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
1cebe9821d
Document the Functional module.
2014-06-02 21:49:35 -04:00