Louis Dionne
9fc85989f7
[bugfix] Fix incorrect result for first
and second
in nested pair cases
2017-04-09 23:00:07 -07:00
Louis Dionne
ae2e9664ae
[bugfix] Fix incorrect result for first
and second
in nested pair cases
2017-04-08 14:05:57 -07:00
Louis Dionne
7f87e7ad53
[tuple] Fix misleading comment
...
[ci skip]
2017-04-08 10:48:58 -07:00
Jason Rice
6d086796a3
[index_if] New index_if function
...
- Adds index_if
- Rewrites detail::index_if to use recursive alias stuff
optimized for tuple and basic_tuple
- find_if now uses index_if for Iterables
- at_key now uses index_if for Sequence
- Removes duplicate code and unnecessary special case implementations
- detail::advance_until
- at_key::advance_until
- tuple_tag implementation of find_if
- Uses Foldable instead of Sequence for cases where length is known.
(find_if had a specialization when Iterable and not Sequence)
- Adds test.*.auto.index_if for Sequences
- Adds test support/counter for testing infinite iterables
2017-04-07 16:19:52 -07:00
Louis Dionne
8b39270d61
[CMake] Properly install HanaConfig.cmake in lib/cmake/hana
...
Thanks @pfultz2 for teaching me how to use CMake properly :-)
2017-03-30 21:15:53 -07:00
Louis Dionne
ece10d9e9b
[CMake] Properly propagate dependencies on Boost headers
2017-03-30 10:25:03 -07:00
Louis Dionne
5901d52cd2
Rename struct_macros.erb.hpp to struct_macros.hpp.erb
2017-03-30 10:22:08 -07:00
Louis Dionne
d0184c7471
[CMake] Remove the FindHana.cmake file, which is not required anymore
2017-03-30 10:01:58 -07:00
Louis Dionne
2139f76798
[example] Remove non-ascii character
2017-03-29 22:48:57 -07:00
Louis Dionne
a0a8ecc061
[CMake] Do not include Boost headers globally
2017-03-29 22:08:04 -07:00
Louis Dionne
d53ef246fd
Generate a HanaConfig file that exports the Hana target
...
This supersedes the `FindHana.cmake` module that we used to provide, which was
buggy and was not the proper way of giving an easy integration for CMake users.
Fixes #328
2017-03-29 21:41:07 -07:00
Louis Dionne
d020188182
[Travis] Fix installation of pcre
2017-03-16 09:27:43 -07:00
Louis Dionne
f36385d59f
[Travis] Fix installation of pcre
2017-03-16 09:26:32 -07:00
Louis Dionne
93590abfcb
[example] Add dimensional analysis example from Meeting C++ keynote
2017-03-07 19:09:43 -08:00
Louis Dionne
35a570dfab
[Travis] Cleanups related to Boost installation
2017-03-05 20:02:43 -08:00
Louis Dionne
aa6c6982a8
[example] Fix typo
...
[ci skip]
2017-03-04 10:00:09 -10:00
Louis Dionne
ebbe97e8c0
[example] Improve example for zip_with
...
Thanks to @brunocodutra for the example.
2017-03-04 07:53:53 -10:00
Louis Dionne
17fe66751f
[CMake] Remove useless check on Clang for Windows
2017-02-28 09:22:20 -10:00
Louis Dionne
cae3fb3fb3
Merging develop into master for Hana version 1.1.0
2017-02-25 13:47:10 -08:00
Louis Dionne
7f2a329800
Bump version to 1.1.0
2017-02-25 13:44:37 -08:00
Louis Dionne
bd8bdefa3a
[map] Add restricted assignment operators
2017-02-21 23:32:51 -08:00
Louis Dionne
02afb37830
[experimental] Move experimental/ to example/misc, and do some cleanup
2017-02-18 12:43:30 -08:00
Louis Dionne
90dbbd4379
[doc] Move related material from README to tutorial
2017-02-12 00:53:15 -08:00
Louis Dionne
ce92da0324
[README] Add a note about updating the Homebrew formula when bumping version
2017-02-12 00:07:43 -08:00
Louis Dionne
71989e7077
[doc] Fix broken link to GMane archives
2017-02-12 00:00:29 -08:00
Louis Dionne
cea576686b
[doc] Reorganize the "Installation" section and document Homebrew
...
Resolves #263
2017-02-11 23:46:18 -08:00
Louis Dionne
6eed9076a0
Improve support for EBO in containers
...
Resolves #313
2017-02-11 23:00:42 -08:00
Louis Dionne
55bb4b9877
[map] Fix overly loose constructors
2017-02-11 15:40:42 -08:00
Louis Dionne
c3789c70cb
[basic_tuple] Use ebo instead of elt to implement EBO in basic_tuple
2017-02-11 15:40:42 -08:00
Louis Dionne
711e6de58a
[basic_tuple] Use at_c instead of get_impl to access basic_tuples
...
This commit decouples the underlying representation of basic_tuple from many
utilities and containers in Hana. This will lead to better support for EBO and
cleaner code, however it might result in a slight compile-time pessimization
since there's one more function instantiation than using `get_impl` directly,
and we're adding 3 overloads to `at_c`.
2017-02-11 15:40:42 -08:00
Louis Dionne
279dbaa9b5
[pair] Ensure that a pair of empty objects is empty too
...
Also, fix some overly loose constructors
2017-02-11 15:40:42 -08:00
Louis Dionne
40ca5afd7d
Add a building block for EBO in containers
2017-02-11 10:26:56 -08:00
Louis Dionne
50336d4aeb
[CMake] Use per-target properties instead of populating global flags
2017-02-10 08:07:44 -08:00
Louis Dionne
478b5cc690
[CMake] Handle Valgrind through CTest, without a custom boost_hana_add_test
2017-02-08 07:57:13 -08:00
Louis Dionne
669451d478
[Travis] Add a job testing on Boost 1.63.0
2017-02-08 00:54:02 -08:00
Louis Dionne
6b5c2ef23d
[doc] Fix the documentation target for Boost
...
Also make sure that the documentation target works on Travis.
2017-02-07 21:27:28 -08:00
Louis Dionne
268004e953
Remove some usages of variable templates
2017-02-07 21:27:28 -08:00
Louis Dionne
9f18782648
[CMake] Remove nonexistent headers in excluded public header list
2017-02-07 19:30:10 -08:00
Louis Dionne
323b657bbe
[type] Improve rationale for the representation of hana::type
...
In response to #319
2017-02-05 13:41:16 -08:00
Louis Dionne
a39d2fb90c
[any_of] Fix a bug where we called the predicate once more than necessary
...
Also, add automatic unit tests for any_of, all_of and none_of. This commit
also makes it easier to add new automatic unit tests by documenting a small
shell script.
Commit triggered by http://stackoverflow.com/q/42012512/627587
2017-02-03 13:58:08 -08:00
Louis Dionne
620a2f681d
[set] Fix broken default constructibility unit test
...
For some reason, this test failed in Travis when I added it, but the Travis
build still passed so I never noticed it.
2017-01-29 13:06:43 -08:00
Louis Dionne
68e5998b3c
[map] Provide a custom implementation of hana::contains
...
This should be faster than using the default implementation, which uses `any_of`.
2017-01-29 11:13:10 -08:00
Louis Dionne
c800311cae
[set] Add and document a default constructor
...
Prompted by a StackOverflow question [1], and also the fact that hana::map
supports it.
[1]: http://stackoverflow.com/q/41818061/627587
2017-01-24 08:37:04 -08:00
Louis Dionne
e6c45f62da
Bump more copyrights to 2017
2017-01-08 11:34:49 -08:00
Louis Dionne
9895803ede
Bump copyright year to 2017
2017-01-07 14:14:18 -08:00
Louis Dionne
e6d5d59ace
Bump version number to 1.0.3 to match next expected release
2017-01-07 14:05:51 -08:00
Louis Dionne
72a081f9d6
[Travis] Improve commit message when updating documentation
...
ci skip
2017-01-07 13:45:00 -08:00
Louis Dionne
92171630a6
[cmake] Reformulate documentation of TestHeaders.cmake
...
ci skip
2016-12-18 11:41:59 -08:00
Louis Dionne
46e9e0ab1f
[tuple] Fix ambiguous specialization on GCC
2016-12-10 19:19:29 -08:00
Louis Dionne
9d1890ec49
[tuple] Add better SFINAE to guard the variadic constructor
...
This avoids instantiating rogue constructors in some corner cases.
2016-12-10 16:59:20 -08:00