Commit Graph

557 Commits

Author SHA1 Message Date
Louis Dionne
f0919d1761 Use List::repeat instead of handwritten one in the Matrix example. 2014-11-30 11:38:48 -05:00
Louis Dionne
8845b2a0c1 Use common to provide inter data type instances. 2014-11-17 10:05:58 -05:00
Louis Dionne
4009555990 Refactor and improve IntegralConstant
- Add mandatory lossless conversions between instances
- implement `common` properly
2014-11-17 09:13:48 -05:00
Louis Dionne
f4e9062d89 Core: add the common utility 2014-11-17 09:13:48 -05:00
Louis Dionne
d042abda97 Automatically test including individual headers. 2014-11-12 11:22:53 -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
e0e2501931 List: add the remove_at method 2014-11-08 12:32:51 -05:00
Louis Dionne
b9472015d1 Add the overload utility to Functional 2014-11-07 20:31:26 -05:00
Louis Dionne
0f0c2c4430 Replace when<is_valid<...>> by when_valid<...> 2014-11-07 15:41:10 -05:00
Louis Dionne
98a39c1204 Remove superfluous #define BOOST_PP_VARIADICS 1. 2014-11-07 10:57:48 -05:00
Louis Dionne
049046478e Move ASSERT macros out of the details 2014-11-04 09:43:44 -05:00
Louis Dionne
bc58bef03e Update the overview in the readme to use constexpr when possible. 2014-11-04 09:09:54 -05:00
Louis Dionne
788b4df735 List: zip_with and zip must receive lists of the same data type 2014-11-04 08:54:59 -05:00
Louis Dionne
57087cd249 Functional: make lockstep's syntax like demux's 2014-11-04 08:54:59 -05:00
Louis Dionne
e66473a0a9 Fix broken link to example in the doc. 2014-10-28 08:12:17 -04:00
Louis Dionne
eddece8d00 Use the nested hana struct to define enabled operators. 2014-10-27 16:31:03 -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
a9743f3dde Add the Ring::power method. 2014-10-27 14:59:20 -04:00
Louis Dionne
b26406d649 Simplify the header hierarchy: too modular isn't good.
This essentially undo parts of 307d3d0. While it seemed a like good
idea to over-modularize type classes to reduce header dependencies, I
think it was a mistake. What 307d3d0 did was basically split each of
the components of a type class into a single header (typeclass/operators.hpp,
typeclass/mcd_1.hpp, typeclass/mcd_2.hpp, ...).

At first, it resolved many weird header dependency glitches. However, it
also made everything more complex; creating even easy type classes was
sometimes much longer than it should have been, and using type classes
was tricky because you had to know exactly what to include. It also went
against the idea of implicit type class instances being provided whenever
that's possible, which I think is a nice feature of the library. Being
dissatisfied with this, I opted for a simpler header organization with
a fwd/ directory that contains forward declaration headers, and everything
else in the same directory.

A possible objection to this change would be that you are now forced
to include sometimes more than what you strictly need when e.g. defining
an instance or using only some instance(s) of a data type. My answer to
this is that Hana is a really small library and the parsing is not
going to have a huge impact on overall compilation time. My bet is that
the time that will be saved by programmers with a simple header hierarchy
outweights the parsing time by far.
2014-10-25 09:47:05 -04:00
Louis Dionne
a74bb80490 Type: clean up and remove misplaced functionality
The ability to construct objects of a type T by calling the type<T>
object was removed; make<T> should be used instead.
2014-10-22 12:27:33 -04:00
Louis Dionne
806b941603 Instantiate Searchable and Iterable with String. 2014-10-21 23:53:28 -04:00
Louis Dionne
ac528b81ba Add the insert function to Set. 2014-10-17 18:29:50 -04:00
Louis Dionne
653d083eb0 Instantiate Foldable and Orderable with String. 2014-10-17 10:23:31 -04:00
Louis Dionne
716ff897cc Add the Enumerable type class. 2014-10-16 20:52:29 -04:00
Louis Dionne
d496ec6bbc Change the syntax of demux. 2014-10-16 19:32:09 -04:00
Louis Dionne
f0d9e9b9bb Add the intersperse method to List. 2014-10-16 16:56:39 -04:00
Louis Dionne
88579de954 Allow folding move-only rvalue Records by constraining accessors. 2014-10-11 14:26:39 -04:00
Louis Dionne
ec93fc5dd4 Use BOOST_HANA_RUNTIME_ASSERT instead of assert in the tutorial 2014-10-04 23:12:46 -04:00
Louis Dionne
1104f76d48 Add perfect forwarding in some places in Tuple 2014-10-04 20:13:14 -04:00
Louis Dionne
a7b28bddd8 Add more perfect forwarding and do some refactoring. 2014-10-02 21:05:01 -04:00
Louis Dionne
f0a6d7150d Add some perfect forwarding. 2014-10-02 17:06:52 -04:00
Louis Dionne
e7b48ee23c Use compile-time strings as keys in records 2014-09-30 10:42:55 -04:00
Louis Dionne
c184a742fb Add compile-time strings 2014-09-30 10:23:45 -04:00
Louis Dionne
a7525b71e3 Fixes #8 2014-09-16 19:41:06 -04:00
Louis Dionne
ac9bd151fb Fixes issue #7 2014-09-16 11:27:51 -04:00
Louis Dionne
18fef19050 List: add the repeat method 2014-09-11 08:22:12 -07:00
Louis Dionne
19b7ca2c7d Minor fixes with newest clang 2014-09-09 17:38:06 -07:00
Louis Dionne
9fbf074c55 Record: refactor macros to make them more user-friendly 2014-09-09 13:01:11 -07:00
Louis Dionne
1b021fcd89 Record: Allow instantiating with macros. 2014-09-09 10:32:04 -07:00
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
Louis Dionne
41d6b75bc2 Add the product Type class and make Pair a simple data type 2014-07-28 18:35:57 -04:00
Louis Dionne
aafd11ed82 Remove redundant examples introduced when refactoring the docs. 2014-07-27 16:57:38 -04:00
Louis Dionne
4dfdbba0c6 List: refactor documentation 2014-07-27 16:57:38 -04:00
Louis Dionne
fdc5f75d5e Pair: refactor documentation 2014-07-27 16:57:38 -04:00
Louis Dionne
527fe09dda Traversable: refactor documentation 2014-07-27 16:57:38 -04:00
Louis Dionne
308368291f Searchable: refactor the documentation 2014-07-27 16:57:37 -04:00
Louis Dionne
47797a7f0d Monad: refactor documentation 2014-07-27 16:57:37 -04:00
Louis Dionne
8e91303552 Logical: refactor documentation 2014-07-27 16:57:37 -04:00
Louis Dionne
14f890b4b2 Iterable: refactor docs and make FoldableInstance a detail of implementation 2014-07-27 16:57:36 -04:00
Louis Dionne
c37347943e Functor: refactor documentation 2014-07-27 16:57:36 -04:00
Louis Dionne
184bf94382 Foldable: refactor the documentation 2014-07-27 16:57:36 -04:00
Louis Dionne
dab794edb1 Orderable: Refactor docs and add the ordering utility 2014-07-27 16:57:36 -04:00
Louis Dionne
eab9434945 Comparable: refactor documentation 2014-07-27 16:11:59 -04:00
Louis Dionne
05d80cb123 Applicative: refactor documentation 2014-07-27 16:11:59 -04:00
Louis Dionne
fe03223998 README: add a quick hello world demo 2014-07-24 15:38:04 -04:00
Louis Dionne
1b4cfc9191 List: add the unzip method 2014-07-24 14:16:09 -04:00
Louis Dionne
0fb8990a13 List: add the unfoldr and unfoldl methods 2014-07-24 13:24:45 -04:00
Louis Dionne
c42aeba92c Monad: add the tap method 2014-07-24 10:15:06 -04:00
Louis Dionne
a0133f546e Monad: replace >> by | 2014-07-24 09:43:16 -04:00
Louis Dionne
7d5243a312 Type: fix bug in construction and force explicit use of intializer_list 2014-07-24 08:48:38 -04:00
Louis Dionne
310b44666d Comparable: make objects of different data types compare uneual by default 2014-07-23 20:11:00 -04:00
Louis Dionne
786816b391 Tutorial: Add organization section 2014-07-23 11:39:12 -04:00
Louis Dionne
aacfbfebde Tutorial: write the preface, introduction and quick start 2014-07-22 13:49:15 -04:00
Louis Dionne
aba2bae382 Record: Fix ordering issues by using a list of pairs instead of a map 2014-07-21 15:47:12 -04:00
Louis Dionne
3ead270cc0 Add the Record type class to adapt user defined types. 2014-07-21 13:53:27 -04:00
Louis Dionne
6c9823e176 Add the Constant data type. 2014-07-21 11:58:23 -04:00
Louis Dionne
6d150cf5ee List: add scanr, scanl, scanr1 and scanl1 2014-07-20 14:25:10 -04:00
Louis Dionne
3ccf6f4d62 Searchable: rename find_key to lookup 2014-07-19 18:58:14 -04:00
Louis Dionne
5a00d66ad6 Add the Set data type. 2014-07-19 18:24:39 -04:00
Louis Dionne
97386dfb59 Add the Map data type. 2014-07-19 17:17:14 -04:00
Louis Dionne
888e84f4e5 Foldable: Remove lazy_foldr and lazy_foldl 2014-07-19 13:29:41 -04:00
Louis Dionne
aaea302ea9 Maybe: instantiate Searchable 2014-07-19 11:44:34 -04:00
Louis Dionne
74092b4bc9 Add the Searchable type class.
Remove any, all, none, find, elem and the *_of variants from Foldable
and move them into Searchable.
2014-07-19 11:44:34 -04:00
Louis Dionne
7e8f109d7f Modularize List and add a minimal instance 2014-07-16 16:26:23 -04:00
Louis Dionne
408a5c7db5 Modularize Pair 2014-07-16 16:26:23 -04:00
Louis Dionne
b3f9a3d09a Modularize Logical and remove nullary and_/or_ 2014-07-16 16:26:23 -04:00
Louis Dionne
b0b7b09736 Modularize Iterable 2014-07-16 16:26:23 -04:00
Louis Dionne
20814674c0 Modularize Monad 2014-07-16 16:26:22 -04:00
Louis Dionne
c8e8d88753 Modularize Comparable 2014-07-16 16:26:22 -04:00
Louis Dionne
a316800bea convert.cpp example: Add missing Comparable mcd 2014-07-15 11:33:49 -04:00
Louis Dionne
b19c801958 Lazy: refactor and make lazy more intuitive. 2014-07-14 20:45:14 -04:00
Louis Dionne
41c80e1d44 Applicative: make ap variadic. 2014-07-14 20:45:14 -04:00
Louis Dionne
de2959db74 Monad: add >> operator as an equivalent to bind. 2014-07-14 20:45:06 -04:00
Louis Dionne
40a3ef71c0 Add the Traversable type class. 2014-07-14 10:40:45 -04:00
Louis Dionne
a5cab82de8 Core: make default_instance dependent on the type class arguments 2014-07-13 22:38:52 -04:00
Louis Dionne
49d9b40fc1 Core: Allow parametric data types and predicated instances to cohabit. 2014-07-13 22:06:49 -04:00
Louis Dionne
d65d47ba28 Core: use BOOST_HANA_TYPECLASS macro to create type classes. 2014-07-13 19:49:24 -04:00
Louis Dionne
3248004409 Move the Lazy data type from the sandbox to the library. 2014-07-12 18:11:27 -04:00
Louis Dionne
573c863c49 Type: make metafunction, metafunction_class and template_ valid metafunction classes. 2014-07-07 20:05:11 -04:00
Louis Dionne
7c6d9dd5bc Iterable: add the for_each method 2014-07-07 15:45:31 -04:00
Louis Dionne
5a2de2073e Reorganize and rename the adapted/ folder. 2014-07-07 12:42:20 -04:00
Louis Dionne
9f94924134 Plug the benchmarks with CMake. 2014-07-06 14:59:59 -04:00
Louis Dionne
5efa23003f Rename join to flatten. 2014-07-01 22:04:56 -04:00
Louis Dionne
faf609157a Remove circular dependencies. 2014-07-01 20:41:04 -04:00
Louis Dionne
70a6c913b7 Type: refactor the interface 2014-07-01 17:32:32 -04:00
Louis Dionne
39c9b1b8e2 Add the bool.hpp header. 2014-07-01 16:45:12 -04:00
Louis Dionne
ae8c12ce17 Remove useless include. 2014-07-01 10:58:01 -04:00
Louis Dionne
96a2bb0a7f Core: allow instances to be explicitly disabled 2014-07-01 10:51:42 -04:00
Louis Dionne
85877825f8 Replace defaults for Comparable by a smarter predicated instance. 2014-06-30 14:22:42 -04:00
Louis Dionne
c255a2f418 Integral: instantiate Orderable 2014-06-29 15:57:33 -04:00
Louis Dionne
fb75a6da25 Fix TODO in example/core/typeclass 2014-06-26 13:48:28 -04:00
Louis Dionne
44aa641599 List: remove list_t and list_c 2014-06-26 11:01:44 -04:00
Louis Dionne
08de7a9e27 Promote List to a type class. 2014-06-26 01:29:05 -04:00
Louis Dionne
541ad8b341 Maybe: instantiate Foldable 2014-06-26 01:12:37 -04:00
Louis Dionne
379f30d981 Core: fix problems with typeclass specialization 2014-06-25 23:55:29 -04:00
Louis Dionne
65796aeb6e CMake: Automatically discover unit tests and examples. 2014-06-25 23:36:14 -04:00
Louis Dionne
16d4ea0930 Add the Pair type class and data type. 2014-06-24 21:28:20 -04:00
Louis Dionne
1a41064f04 Functor: add fill 2014-06-24 13:38:54 -04:00
Louis Dionne
d4b1089d1c Explicit cast Range to List in example 2014-06-23 17:18:12 -04:00
Louis Dionne
ea37adf66b Core: rethink type classes 2014-06-23 15:37:29 -04:00
Louis Dionne
5ba2f9abb9 Applicative: rename unit to lift 2014-06-22 10:51:53 -04:00
Louis Dionne
159dbaecf6 Type: improve support for different metafunctions and rename lift 2014-06-22 10:31:10 -04:00
Louis Dionne
fa98685327 Move unit from Monad to Applicative and remove pure. 2014-06-21 19:29:28 -04:00
Louis Dionne
7440fd0c5e Applicative: add Maybe and StdTuple instances 2014-06-21 18:56:33 -04:00
Louis Dionne
585c0b8e76 Add the Applicative type class. 2014-06-21 18:16:56 -04:00
Louis Dionne
dfed9d39e7 Type: add lift and remove trait.hpp header 2014-06-21 14:09:08 -04:00
Louis Dionne
7b7bbd2290 Logical: add not_ 2014-06-21 12:39:19 -04:00
Louis Dionne
56f74519fe Functor: add replace and adjust 2014-06-20 22:54:46 -04:00
Louis Dionne
0a09ddaa97 Foldable: add the elem method 2014-06-20 21:35:58 -04:00
Louis Dionne
09b2fff78e Make StdTuple a Monad. 2014-06-19 16:13:18 -04:00
Louis Dionne
c7a7aa4c89 Core: add is_a and instantiates 2014-06-19 12:19:51 -04:00
Louis Dionne
7e32f59837 core: Add conversion between data types 2014-06-18 20:23:53 -04:00
Louis Dionne
4043adb494 Core: document and don't require core.hpp for instance and defaults 2014-06-18 16:13:54 -04:00
Louis Dionne
42bb091e71 Foldable: reduce the mcd, steal find from Iterable and improve tests 2014-06-18 13:37:34 -04:00
Louis Dionne
874c28eade Functional: refactor to reduce coupling 2014-06-18 10:06:19 -04:00
Louis Dionne
ee9681f7aa Minor ungrouped improvements and bug fixes. 2014-06-16 08:17:08 -04:00
Louis Dionne
10a050c854 Logical: add conservative eval_if 2014-06-15 15:13:57 -04:00
Louis Dionne
8e1d12171a Make Logical a type class 2014-06-14 12:49:06 -04:00
Louis Dionne
77c925d239 Add examples in Foldable and add the sizeof_ method 2014-06-13 22:16:12 -04:00
Louis Dionne
28e54f6ee9 List: reimplement partition, document sort_by and add permutations 2014-06-13 20:24:14 -04:00
Louis Dionne
4b60dfa6d0 Iterable: document provided instances 2014-06-13 14:07:56 -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
c1d9ff5529 doc: document instances 2014-06-12 20:36:21 -04:00
Louis Dionne
e93f1eb4e0 Range: make the implementation less naive 2014-06-12 13:33:38 -04:00
Louis Dionne
48ec7b231e Foldable: add examples for some methods 2014-06-12 13:33:38 -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
809101956b Type: add construction capabilities 2014-06-09 18:22:33 -04:00
Louis Dionne
e9267aecc8 Type: documentation and example for untype 2014-06-09 18:22:31 -04:00
Louis Dionne
d4d82639f5 List: documentation and examples 2014-06-05 22:47:39 -04:00
Louis Dionne
aea42f9d18 Integral: Fix a bug with negative literals. 2014-06-05 22:45:55 -04:00
Louis Dionne
12058791c7 Documentation: improvements in Integral 2014-06-04 22:04:55 -04:00
Louis Dionne
a902435c76 CMake: put enable_testing() in the top level CMakeLists 2014-06-04 21:24:31 -04:00
Louis Dionne
8fcf0c21dd Examples: use sstream instead of lexical_cast in folds (reduce compile-time) 2014-06-04 21:24:31 -04:00
Louis Dionne
5b4d569962 Type: Add decltype_ and remove coupling. 2014-06-04 21:24:19 -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
c0b7a91e31 Move any, all and none to Foldable. 2014-06-03 12:28:05 -04:00
Louis Dionne
91689fe4f0 Make the header comment and license uniform. 2014-06-03 11:46:24 -04:00
Louis Dionne
b090b57ee4 Use CTest for examples as well as unit tests. 2014-06-02 21:52:27 -04:00
Louis Dionne
1cebe9821d Document the Functional module. 2014-06-02 21:49:35 -04:00
Louis Dionne
205f0ffb51 Use placeholders where it makes sense in the examples. 2014-05-26 10:13:29 -04:00
Louis Dionne
ec7831184f Add more MPL examples. 2014-05-25 23:42:00 -04:00
Louis Dionne
51848b0b71 Add more Fusion examples. 2014-05-25 21:02:02 -04:00
Louis Dionne
003b3ae4b9 Add count to Foldable. 2014-05-25 19:28:00 -04:00
Louis Dionne
f1694b3f4c Add find and drop_until to Iterable. 2014-05-25 18:45:10 -04:00
Louis Dionne
09cee4f2fa Add examples from Boost.Fusion. 2014-05-25 17:23:48 -04:00
Louis Dionne
bea47fa4d2 Add examples. 2014-05-24 13:28:48 -04:00