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