Louis Dionne
7a3dd8ae8a
Example: Add the homogeneous Matrix example for CppCon.
2014-09-04 09:30:12 -04:00
Louis Dionne
444ffa8d48
Improve the documentation for IntegralConstant
2014-09-03 11:06:46 -04:00
Louis Dionne
028e672822
Refactor examples and fix broken links
2014-08-30 17:18:26 -04:00
Louis Dionne
8f593765a8
Set: improve Comparable example
2014-08-30 14:38:21 -04:00
Louis Dionne
26af39f3d9
Flip the arguments of several methods.
...
Flipped:
- traverse
- fmap, adjust, fill, replace
- drop_while, drop_until
- take_while, take_until
2014-08-29 10:24:19 -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
00642be684
Add the Either data type.
2014-08-26 15:09:51 -04:00
Louis Dionne
1e6d390626
Add slice_c, take_c, drop_c and at_c shorthands.
2014-08-25 17:45:10 -04:00
Louis Dionne
81a242c1f1
Replace into by make in the List type class.
2014-08-25 16:48:02 -04:00
Louis Dionne
cbeb6ae983
Core: add the make function
2014-08-25 12:33:49 -04:00
Louis Dionne
3147d9b5d5
Refactor and fix broken examples.
2014-08-25 12:33:49 -04:00
Louis Dionne
7cc729bd05
List: add the slice method
2014-08-25 12:33:48 -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
f2de95a841
Use detail::injection instead of a std::tuple in the tests
2014-08-16 14:25:57 -04:00
Louis Dionne
ba5a74b81f
Record: workaround weird ICE in LLVM codegen after adding perfect forwarding
2014-08-16 14:25:52 -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
cb9be38cf1
Add the Ring type class.
2014-08-09 09:45:33 -04:00
Louis Dionne
2b76377f91
Core: replace when_valid by when + is_valid
2014-08-07 22:38:54 -04:00
Louis Dionne
4df8c27cbb
Finer grained use of operators
2014-08-07 21:05:38 -04:00
Louis Dionne
fecf7309d1
Add the Group type class
2014-08-07 17:01:22 -04:00
Louis Dionne
b46db0bdc0
Add the Monoid type class
2014-08-07 16:51:49 -04:00
Louis Dionne
82bc4a38da
List: add span, group and group_by
2014-08-06 11:08:10 -04:00
Louis Dionne
2f16a364af
Comparable: add the comparing helper function
2014-08-06 11:08:10 -04:00
Louis Dionne
64e160f9ab
Searchable: add the in utility function
2014-08-06 08:38:45 -04:00
Louis Dionne
1d031b4556
Functional: add infix and use it to implement on
2014-08-05 22:49:18 -04:00
Louis Dionne
b6cef58ca1
Core: add are to make it prettier when there are many data types.
2014-08-05 19:52:44 -04:00
Louis Dionne
ae9a849e2f
README: make the overview narrower so we can see it all
2014-08-05 19:52:44 -04:00
Louis Dionne
da8135ccec
Foldable: flip the arguments of some methods
2014-08-05 19:52:44 -04:00
Louis Dionne
2900faec86
List: flip the order of arguments of some methods
2014-08-05 19:52:44 -04:00
Louis Dionne
b4cfc58e72
Searchable: flip the order of the arguments of the methods
2014-08-05 16:46:56 -04:00
Louis Dionne
7bd5afd95f
Ext: show all the includes in the examples, because some includes are tricky
2014-08-05 15:06:56 -04:00
Louis Dionne
393cf06fb5
Tutorial: add a section on side effects
2014-08-05 14:44:02 -04:00
Louis Dionne
a7b38d3fff
Range: add the range_c constructor
2014-08-05 14:44:02 -04:00
Louis Dionne
f992faa91e
Remove std::list adaptor; Iterable requires a Constant is_empty.
2014-08-05 12:14:40 -04:00
Louis Dionne
d132db0ebf
Use finer grained assertions acknowledging Constants
2014-08-05 10:37:54 -04:00
Louis Dionne
d4fde4f77a
Documentation: refactoring and improvements in the tutorial
2014-08-04 18:44:38 -04:00
Louis Dionne
c382d9fca1
Tutorial: improve the section on data types
2014-07-31 16:31:56 -04:00
Louis Dionne
c85db2c4d2
Tutorial: make examples compilable
2014-07-31 15:09:34 -04:00
Louis Dionne
e9dfdeb57b
Core: merge instantiates into is_a for the same functionality
2014-07-31 13:00:57 -04:00
Louis Dionne
b61dfc00a6
Core: document header structure and use when<> in datatype<>
2014-07-31 11:41:42 -04:00
Louis Dionne
8c683c6e08
Adapt MPL IntegralConstants with Constant.
2014-07-30 19:00:06 -04:00
Louis Dionne
c6f0420145
Functional: pimp the documentation
2014-07-30 15:21:39 -04:00
Louis Dionne
8a8ff797ab
Split Core into subdirectories to reduce dependencies.
2014-07-30 11:15:26 -04:00
Louis Dionne
6c852e957e
Make Constant a type class
2014-07-30 08:55:07 -04:00
Louis Dionne
f66871ec2c
MPLVector: Document and instantiate List.
2014-07-29 15:44:45 -04:00
Louis Dionne
36edeacbc8
Maybe: refactor the documentation and add only_when
2014-07-29 10:09:06 -04:00
Louis Dionne
fda839dfb4
Show permutations in the overview.
2014-07-28 19:53:22 -04:00
Louis Dionne
412c52d9fc
README: Use a more representative Hello World
2014-07-28 19:44:30 -04:00