Commit Graph

1973 Commits

Author SHA1 Message Date
Louis Dionne
17d2ce584c [Integral] Rename to IntegralConstant and improve the API 2015-02-10 20:03:49 -05:00
Louis Dionne
5dd70cbf3a [String] Remove the Constant model and document why 2015-02-10 19:18:40 -05:00
Louis Dionne
88549c004c [IntegralConstant] Remove the concept 2015-02-10 19:18:40 -05:00
Louis Dionne
dab93cc263 [Comparable] Update docs, split methods and more
- Use == for cross-type EqualityComparable data types
- Remove the not_equal mcd
2015-02-10 19:18:40 -05:00
Louis Dionne
9ddad3dc22 [Orderable] Split completely 2015-02-10 18:04:30 -05:00
Louis Dionne
c2b51f3780 [Logical] Split completely 2015-02-10 18:04:30 -05:00
Louis Dionne
1d3aaa93c4 [Monoid up to IntDomain] Refactor the documentation and split the methods 2015-02-10 18:03:42 -05:00
Louis Dionne
a06100c268 [Enumerable] Refactor the documentation and split the methods 2015-02-10 18:03:19 -05:00
Louis Dionne
04985812f8 [Range] Specify what happens when from and to have different underlying types 2015-02-10 18:03:19 -05:00
Louis Dionne
0ac6753f27 [Constant] Update the Constant concept and its models
- Provide a conversion to the underlying data type
- Provide a common data type when it makes sense
- Remove Constant::instance and Constant::mcd
- Split the methods of all the models
- Make sure all models provide a nested value_type
- Make sure all models provide conversions whenever possible
2015-02-10 18:03:19 -05:00
Louis Dionne
c0690e3747 [CMake] Do not generate header-inclusion tests for ext/boost/* when Boost is not found 2015-02-10 18:03:19 -05:00
Louis Dionne
74fe83c517 [Detail] Add detail::std::is_non_boolean_arithmetic 2015-02-10 18:03:18 -05:00
Louis Dionne
2604c9eb53 [Detail] Add the CanonicalConstant helper 2015-02-10 18:03:18 -05:00
Louis Dionne
1683999b4e [Detail] Add std::conditional 2015-02-10 18:03:18 -05:00
Louis Dionne
551cb2f0b6 [Detail] Add detail::has_common_embedding 2015-02-10 18:03:18 -05:00
Louis Dionne
61d59eff57 [Core] Refactor the conversion system, hana::common and add hana::default 2015-02-10 18:02:32 -05:00
Louis Dionne
aefbc90a10 [Lazy] Fix a broken link to an example in the docs 2015-02-08 15:01:55 -05:00
Louis Dionne
50dc7506ff [Functional] Make the placeholder-based operators SFINAE-friendly 2015-02-08 10:51:00 -05:00
Louis Dionne
72169c81c1 [Detail] Make std::common_type SFINAE friendly 2015-02-08 10:50:14 -05:00
Louis Dionne
d6ef326e94 [Product] Split methods, refactor doc and add Orderable instance 2015-02-08 10:43:12 -05:00
Louis Dionne
738041d159 [Core] Add the wrong utility to make static asserts dependent. 2015-02-08 10:29:09 -05:00
Louis Dionne
d479e0f711 [Set] Split methods and refactor the documentation 2015-02-08 09:49:19 -05:00
Louis Dionne
b2b4a09f10 [Map] Split methods and refactor documentation. 2015-02-08 09:49:19 -05:00
Louis Dionne
733e9967ac [Core] Use proper tag-dispatching with make 2015-02-08 09:49:18 -05:00
Louis Dionne
ca31fe399c [Range] Split methods and refactor documentation 2015-02-08 09:22:39 -05:00
Louis Dionne
7f52833db6 [Lazy] Split methods and refactor documentation 2015-02-08 09:22:39 -05:00
Louis Dionne
d5076888fb [Type] Split methods and refactor the documentation 2015-02-08 09:22:39 -05:00
Louis Dionne
4892c4ad42 [Tuple] Add tuple_t and tuple_c to ease the transition to split methods 2015-02-08 09:22:39 -05:00
Louis Dionne
507aaa033d [String] Split methods and refactor 2015-02-08 09:22:39 -05:00
Louis Dionne
3947f264c1 [Maybe] Split methods and refactor documentation. 2015-02-08 09:22:39 -05:00
Louis Dionne
245819eb71 [Either] Split methods and refactor documentation 2015-02-08 09:22:39 -05:00
Louis Dionne
9941656298 [Core] Add models to ease transition to split methods 2015-02-08 09:22:39 -05:00
Louis Dionne
74647cb3ce Add independent methods to gradually split the type classes. 2015-02-08 09:22:38 -05:00
Louis Dionne
9dd3391130 [CMake] Fix typo: CMAKE_CURRENT_LIST_DIRECTORY => CMAKE_CURRENT_LIST_DIR 2015-02-06 18:01:40 -05:00
Louis Dionne
ee648c2bda [Core] Fix issue with when_valid 2015-02-04 23:02:04 -05:00
Louis Dionne
6d6c9ce923 Remove unused minimal_list.hpp file 2015-01-17 15:45:39 -05:00
Louis Dionne
17100e774a [Tuple] Add a more efficient concat implementation 2015-01-13 16:19:45 -05:00
Louis Dionne
6f267bd37b Add detail::generate_integer_sequence. 2015-01-13 15:49:30 -05:00
Louis Dionne
e8b470aa18 Improve the MCD graph experiment 2015-01-12 15:56:18 -05:00
Louis Dionne
4654c6786a Split instances for foreign types 2014-12-06 16:30:16 -05:00
Louis Dionne
0371952337 Make while_ part of Logical 2014-12-06 16:30:14 -05:00
Louis Dionne
21bdeb39ae Only enable operators where needed with test::Seq. 2014-12-01 17:09:43 -05:00
Louis Dionne
14e3c34815 Add missing copyright in doc/CMakeLists.txt 2014-12-01 14:20:06 -05:00
Louis Dionne
99ff71dbef Doxygen: remove warnings 2014-12-01 11:53:56 -05:00
Louis Dionne
f5c4de477f Use true_type/false_type in std type traits. 2014-11-30 23:55:57 -05:00
Louis Dionne
8d4b34f6c2 Do not use variable templates for one, zero & al.
This is because using variable templates limits the objects to being
constexpr, or to not being constexpr (but then initializing the object
becomes an issue).

This is also a step towards being compilable by GCC 4.9, but that only
would not justify the change.
2014-11-30 20:42:29 -05:00
Louis Dionne
ec8e7446a0 CppCon Matrix: Implement the one method 2014-11-30 11:38:48 -05:00
Louis Dionne
f0919d1761 Use List::repeat instead of handwritten one in the Matrix example. 2014-11-30 11:38:48 -05:00
Louis Dionne
51912d8661 Add detail::while_ and detail::until. 2014-11-29 12:17:25 -05:00
Louis Dionne
a90385271e Remove old benchmark code. 2014-11-26 20:27:38 -05:00