Commit Graph

43 Commits

Author SHA1 Message Date
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