Commit Graph

1973 Commits

Author SHA1 Message Date
Louis Dionne
cf56c3ab83 [Doc] Document new-style concepts and remove core/models.hpp 2015-09-05 19:27:38 -04:00
Louis Dionne
fd5e3ca715 [Concepts] Define concepts as template structs instead of using models<>
The `models<>` machinery added unnecessary complexity for little benefit.
Also, this makes Hana's concepts syntactically closer to concepts lite,
which should contribute to making them easier to grasp at first sight.
2015-09-05 19:25:01 -04:00
Louis Dionne
98358c5f94 [integral_constant] Refactor the documentation 2015-09-05 17:12:44 -04:00
Louis Dionne
2098e4b1a9 [Benchmarks] Fix the colors of the most commonly shown curves
Fixes #151
2015-09-04 11:01:27 -04:00
Louis Dionne
2ce5819d11 [Travis] Avoid timeouts when building the tests by allowing output 2015-09-03 16:46:23 -04:00
Louis Dionne
fdc7dc512f Merge pull request #171 from ldionne/feature/tags
This pull request uses the `xxx_tag` pattern instead of `Xxx` pattern to denote tags. At the same time, it also renames the `datatype<>` metafunction to `tag_of<>`, which is more consistent. Finally, it renames hana::datatype to hana_tag, and hana::accessors_impl to hana_accessors_impl, which are minor improvements that were easy to do on the fly.

Fixes #157
2015-09-03 16:44:17 -04:00
Louis Dionne
ac4e3bc56e [Tutorial] Use vector_tag instead of Vector in tutorial example 2015-09-03 13:29:17 -04:00
Louis Dionne
b9d0f6d2d1 [integral_constant] Rename IntegralConstant to integral_constant_tag 2015-09-03 13:29:17 -04:00
Louis Dionne
673a84c787 [ext/] Rename tags to xxx_tag for external adapters 2015-09-03 13:29:17 -04:00
Louis Dionne
19a2d9a1d6 [type] Rename Type to type_tag 2015-09-02 22:32:52 -04:00
Louis Dionne
de79e56a5f [string] Rename String to string_tag 2015-09-02 21:59:05 -04:00
Louis Dionne
79db7e90df [range] Rename Range to range_tag 2015-09-02 21:59:05 -04:00
Louis Dionne
a58ad3bdbc [basic_tuple] Rename BasicTuple to basic_tuple_tag 2015-09-02 21:59:05 -04:00
Louis Dionne
5cec8b3e2e [tuple] Rename Tuple to tuple_tag 2015-09-02 21:59:04 -04:00
Louis Dionne
cd133c3a24 [optional] Rename Optional to optional_tag 2015-09-02 21:59:04 -04:00
Louis Dionne
3a50767bd4 [pair] Rename Pair to pair_tag 2015-09-02 21:59:04 -04:00
Louis Dionne
b2adb373ee [set] Rename Set to set_tag 2015-09-02 21:59:04 -04:00
Louis Dionne
9168cc4ce8 [map] Rename Map to map_tag 2015-09-02 21:59:04 -04:00
Louis Dionne
2110ef724d [lazy] Rename Lazy to lazy_tag 2015-09-02 21:59:04 -04:00
Louis Dionne
c52c6d88d4 [Doc] Adjust the documentation to use "tag" instead of "data type" when it makes sense 2015-09-02 21:59:03 -04:00
Louis Dionne
44a0676604 [Struct] Use hana_accessors_impl instead of hana::accessors_impl
For consistency with hana_tag.
2015-09-02 21:59:03 -04:00
Louis Dionne
4e3d17bd3b [Core] Do not use a nested ::hana struct to hold the tag.
This was annoying because

(1) We couldn't use the name hana:: from within the struct
(2) It requires one more instantiation unless you use the
    `using hana = self` trick. But that trick makes something
    that should be trivial to do slightly harder, and that is stupid.
2015-09-02 21:59:03 -04:00
Louis Dionne
f3d9df96d0 [Core] Rename datatype<> to tag_of<>
Also, rename the nested hana::datatype alias to hana::tag.
2015-09-02 21:59:03 -04:00
Louis Dionne
224f7d5253 [boost/fusion.hpp] Remove obsolete check for Boost version 2015-09-02 21:59:02 -04:00
Louis Dionne
28d85747a4 [std::tuple] Fix unit tests broken by 08f66d4
The unit tests were not being run, because they are disabled for
clang < 3.7.0 due to bugs in libc++
2015-09-02 21:47:28 -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
Benjamin Roland Buch
05a57e562d [type] operators::adl is already base class of basic_type< T >
[ldionne: Closes #170]
2015-09-01 16:33:56 -04:00
Louis Dionne
0ccb92776c Fix -Wself-move warning turned into error 2015-08-31 22:28:01 -04:00
Louis Dionne
6f2def29c0 [Tuple] Refactor and bullet-proof the implementation
- Use basic_tuple instead of closure<> for the inner storage
- Make sure the assignment operators are constexpr
- Copy the unit tests from closure<> (closure will eventually be removed anyway)

Fixes #165
2015-08-31 18:24:40 -04:00
Louis Dionne
a65db394c3 [String] Add make_string, for consistency 2015-08-31 17:28:44 -04:00
Louis Dionne
f4530d3058 Add a master header for the boost/hana/concept subdirectory 2015-08-31 17:27:40 -04:00
Louis Dionne
1754a6305a [Doc] Move the less function out of the group-concepts 2015-08-31 17:27:40 -04:00
Louis Dionne
f948ca8eb8 Merge pull request #166 from ldionne/feature/document-datatypes
Restructure the documentation of containers
2015-08-31 17:25:07 -04:00
Louis Dionne
0e8913fa3c [Doc] Use implementation-defined instead of unspecified-type
Also, update the tutorial to reflect the fact that container types
are now sometimes specified.
2015-08-31 13:42:15 -04:00
Louis Dionne
d8b08aa43c [Doc] Promote Metafunction from data type to concept, and document as such 2015-08-31 12:59:22 -04:00
Louis Dionne
98e76512a1 [Doc] Document hana::lazy instead of hana::Lazy 2015-08-31 11:42:57 -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
e1d08aa277 [Doc] Document hana::basic_tuple instead of hana::BasicTuple 2015-08-30 17:07:19 -04:00
Louis Dionne
d0492da082 [Doc] Document hana::integral_constant instead of hana::IntegralConstant 2015-08-30 17:07:19 -04:00
Louis Dionne
ed2eca2ddb [Doc] Document hana::string instead of hana::String 2015-08-30 17:07:19 -04:00
Louis Dionne
3738a4c662 [Doc] Document hana::range instead of hana::Range 2015-08-30 17:07:18 -04:00
Louis Dionne
7f933490ad [Doc] Document hana::optional instead of hana::Optional 2015-08-30 17:07:18 -04:00
Louis Dionne
4bd3c6bd0e [Doc] Document hana::map instead of hana::Map 2015-08-30 17:07:18 -04:00
Louis Dionne
22d75503ed [Doc] Document hana::pair instead of hana::Pair 2015-08-30 17:07:18 -04:00
Louis Dionne
e4c1b44f8e [Doc] Document hana::set instead of hana::Set 2015-08-30 17:07:18 -04:00
Louis Dionne
6d80a308da [Doc] Document hana::tuple instead of hana::Tuple
Also, document the member functions of `hana::tuple` and add an example.

Fixes #163
2015-08-30 17:07:18 -04:00
Louis Dionne
97c86a064b [Doc] Remove references to tuple_t from the benchmarks 2015-08-30 17:04:57 -04:00
Louis Dionne
c3046d0faf [Sandbox] Experiment with tuples holding references 2015-08-29 12:27:45 -04:00
Louis Dionne
980e97a3ef [Detail] Move stuff out of the constexpr/ subdirectory and namespace 2015-08-28 11:32:09 -04:00
Louis Dionne
af01c3a0d4 [Tests] Use hana:: qualified names 2015-08-28 11:32:09 -04:00