Commit Graph

1973 Commits

Author SHA1 Message Date
Louis Dionne
9082e9ff05 [version] Bump to 1.0.0 2016-03-20 10:32:23 -04:00
Louis Dionne
8bec9806b2 [version] Improve formulation of comment. NFC 2016-03-20 10:29:01 -04:00
Louis Dionne
70fceb7893 [Tutorial] Fix typo (apendix -> appendix)
Thanks @badair
2016-03-14 14:46:52 -04:00
Louis Dionne
5d2e9cc58f [Travis] Move Xcode 7.2 out of beta, and add Xcode 7.3 beta 2016-03-10 18:15:12 -05:00
Louis Dionne
63c5f87dfd [GCC] Update warnings and documentation to support GCC 2016-03-07 16:46:08 -05:00
Louis Dionne
b440aa8758 [issues/github_234] Use an explicit signed char
This fixes the test on platforms where char is unsigned, where the
original test couldn't (and shouldn't) pass, because `char -> int`
is not an embedding (signed -> unsigned).
2016-03-07 16:46:08 -05:00
Louis Dionne
1aeb611b04 [Travis] Remove set -e 2016-03-06 11:13:49 -05:00
Louis Dionne
345ac93e79 Revert "[GCC] Workaround GCC bug 67364, which appears to be still open"
This reverts commit dd92656da8, which
is not required anymore because the GCC bug was fixed.
2016-03-06 09:11:07 -05:00
Louis Dionne
ec74204588 [scans] Fix undefined behaviour in scan_right and optimize both algorithms 2016-03-05 16:41:47 -05:00
Louis Dionne
036275f615 [tuple] Remove useless @cond 2016-03-05 14:22:03 -05:00
Louis Dionne
dd92656da8 [GCC] Workaround GCC bug 67364, which appears to be still open 2016-03-05 12:34:24 -05:00
Louis Dionne
7ac4b41ddc [GCC] Temporarily disable failing experiment on GCC 2016-03-05 11:28:03 -05:00
Louis Dionne
9253764b5e [GCC] Workaround GCC bug 47226 2016-03-05 10:50:14 -05:00
Louis Dionne
7c0d6bd23e [test/is_valid] Remove invalid usage of member template in local class 2016-03-04 12:38:27 -05:00
Louis Dionne
afd5ca1b6c [map] Use Comparable keys in the make_map benchmark 2016-02-29 11:15:53 -05:00
Louis Dionne
6d364970cc [map] Optimize make_map by requiring distinct hashes
This allows us to create large maps quite efficiently. If one needs
to create a map with duplicate keys or keys whose hashes may collide,
the inefficient to_map can be used instead.
2016-02-29 10:55:01 -05:00
Louis Dionne
aa47c09a55 [map] Use a basic_tuple for storage 2016-02-29 10:42:47 -05:00
Louis Dionne
9398b89210 [test/take_back] Rename misnamed automatic take_back test files
Also use smaller sequences to accommodate boost::tuple.
2016-02-29 10:24:26 -05:00
Louis Dionne
a757f7fb7c [basic_tuple] Provide a model for Iterable and Sequence
Also remove the ad-hoc model of Comparable, which is now obsolete.
2016-02-29 10:23:41 -05:00
Louis Dionne
50a8bd3684 [tests] Add automatic unit tests for at 2016-02-29 09:08:05 -05:00
Louis Dionne
3475065f23 [tests] Add an automatic unit test for is_empty 2016-02-29 09:08:05 -05:00
Louis Dionne
255f2ec274 [doc] Add note about compile-time performance of pure type-level libraries 2016-02-28 19:01:52 -05:00
Louis Dionne
df94a16210 [basic_tuple] Provide a model for Functor 2016-02-27 14:36:57 -05:00
Louis Dionne
3bea6c0ab0 [basic_tuple] Add a working copy constructor 2016-02-27 14:36:57 -05:00
Louis Dionne
a6438720c0 [tests] Add an automatic test for transform 2016-02-27 14:36:57 -05:00
Louis Dionne
eb89ae4543 [README] Add notes about creating a release 2016-02-27 14:36:57 -05:00
Louis Dionne
b84be1dcca Bump version to 0.8.0 2016-02-27 14:36:56 -05:00
Louis Dionne
6c146ed406 Add .gitattributes file to deal with line endings 2016-02-24 20:53:00 -05:00
Louis Dionne
3d00428646 [tests] Fix include paths when running tests with Boost.Build 2016-02-23 14:51:14 -05:00
Louis Dionne
6798df624e [tests] Reorganize the test/_support folder
- Rename test/_support to test/_include
- Move stuff from test/_include/test to test/_include/support
- Move stuff in test/_include/support into global namespace
2016-02-22 19:09:50 -05:00
Louis Dionne
897be1cdd9 [tests] Remove duplicate code by creating two reusable move-only types 2016-02-22 17:56:29 -05:00
Louis Dionne
b3ac1249b7 [set] Fix set tests failing due to non-Hashable keys 2016-02-21 15:16:55 -05:00
Louis Dionne
70c61dcfca [set,map] Add Hashable and Comparable requirement to the keys of a set
That will allow us to implement the set using a hash table in the future.
2016-02-21 10:47:38 -05:00
Louis Dionne
c30c0f3c8d [optional] Specify the template parameters of optional
Closes #254
2016-02-21 10:24:32 -05:00
Louis Dionne
477368ed8b [hash_table] Add a peephole optimization for 1-element buckets
This optimization shaves off approximately 1 second on the
at_key.number_of_lookups benchmark when looking up 140 elements.
2016-02-19 16:42:34 -05:00
Louis Dionne
5a5eb6548e [traits] Remove usage of decltype_t in traits.
These should have been removed in b1696fe, which removed implicit
support for decltype_ when calling metafunctions.
2016-02-19 16:34:43 -05:00
Louis Dionne
1e3b166c56 [doc] Properly mark more template parameters as implementation-defined 2016-02-19 16:33:16 -05:00
Sergey Nizovtsev
5d07902329 Correctly forward std::extent value_type to hana::traits::extent
Fixes #252
2016-02-19 22:13:26 +03:00
Louis Dionne
f068f2d092 [doc] Remove experimental::types from the main "Data types" section 2016-02-18 13:00:57 -05:00
Louis Dionne
27bba55f80 Merge branch 'pr/hash_map' into develop
Closes #223
2016-02-16 16:09:33 -05:00
Louis Dionne
eaa4cd7f8e [map] Reimplement hana::map using a hash table 2016-02-16 15:50:41 -05:00
Louis Dionne
3a2ad0b2b5 [Hashable] Improve documentation and tests 2016-02-16 15:24:23 -05:00
Jason Rice
da29858d1b [hash] type-level hash for associative containers
- Hashable concept
    - hash function
2016-02-16 15:24:23 -05:00
Louis Dionne
391543ac94 [benchmark] Disable find_if benchmarks for set and map
It makes very little sense to compare find_if for set and map with
find_if for linear data structures, since that is not the intended
use case for set and map. Until we have a better comparison of
associative data structures ready, I do not want to present this
data as it could be misleading.
2016-02-15 14:59:30 -05:00
Louis Dionne
c0520b68b9 [test] Add unit test to check for Github issue #234
The commit that actually fixes this issue is 7f7c7a19, which adds an
embedding from `char` to any integral type with the proper signedness.

Closes #234
2016-02-15 14:54:00 -05:00
Louis Dionne
e5e9c44825 [types] Add a fast contains function based on detail::any_of 2016-02-15 10:14:03 -05:00
Louis Dionne
ce03e0cc75 [detail] Add a fast any_of metafunction using SFINAE 2016-02-15 10:14:03 -05:00
Louis Dionne
357aeea527 [experimental] Add types<>, a Sequence specialized for holding types 2016-02-15 10:14:03 -05:00
Louis Dionne
b1696fe0cc [Metafunction] Do not automatically call decltype_ on metafunction arguments 2016-02-15 10:07:08 -05:00
Louis Dionne
f6f02ac748 [README] Remove obsolete disclaimers 2016-02-14 17:52:53 -05:00