Louis Dionne
cf063a4fe3
Return hana::integral_constants from type_traits adapters
...
Also, remove the ext/std/{type_traits,utility} headers in favour of the
<boost/hana/traits.hpp> header.
2015-09-21 07:45:04 -07:00
Louis Dionne
800ec837c9
[type] Use qualified names in the unit tests
2015-09-21 06:43:14 -07:00
Louis Dionne
01085771f2
[Doc] Minor fixes in Sequence and MonadPlus
...
- MonadPlus: "Second" -> "Secondly"
- Sequence: Fix malformatted list of provided models
2015-09-20 09:24:19 -07:00
Louis Dionne
a5714d5628
[CMake] Fix conditional messed up by ac9b75d
2015-09-20 08:01:50 -07:00
Louis Dionne
c02483411a
[Benchmarks] Use Boost.Hana instead of just Hana in #include benchs
2015-09-19 13:55:08 -04:00
Louis Dionne
ac9b75dd5a
[CMake] Do not use -Wno-gnu-string-xxx on GCC
2015-09-17 16:31:18 -04:00
Louis Dionne
c9784816f4
Move /test/sandbox to /experimental
...
Closes #169
2015-09-16 12:48:09 -04:00
Louis Dionne
f57e125c71
[tuple] Add a unit test for trapping constructors
2015-09-15 18:39:20 -04:00
Louis Dionne
8ef31253b2
[Doc] Minor tweak to the make_map example
2015-09-15 18:09:54 -04:00
Louis Dionne
54a03c1998
[Doc] Fix broken links to insert, erase_key and keys
2015-09-15 10:30:03 -04:00
Louis Dionne
6777caade1
[map] Optimize the insert method, which had bad runtime performance
2015-09-15 10:04:06 -04:00
Louis Dionne
7031c87624
[Benchmarks] Re-enable fold_right benchmarks for Fusion != 1.58.0
...
Also, remove unused class from measure.hpp.
2015-09-15 08:46:40 -04:00
Louis Dionne
41c64b39a9
[IntegralDomain] Rename quot/rem to div/mod
...
Fixes #180
2015-09-14 14:18:29 -04:00
Louis Dionne
18077266e2
[Travis] Properly install the right libc++ all the time
2015-09-14 11:39:52 -04:00
Louis Dionne
f31295a004
[Travis] Add testing on OS X and refactor .travis.yml
...
Also
- Add a Travis job without Boost
- Only test Boost 1.58.0 on one compiler, to reduce the size of the matrix
- Reorder the environment variables to prettify the Travis matrix
- Add a job to build on Clang trunk, but allow failures
2015-09-13 23:30:38 -04:00
Louis Dionne
41c621ba0f
[Config] Define BOOST_HANA_CONFIG_LIBSTDCXX when the stdlib is libstdc++
2015-09-13 16:10:05 -04:00
Louis Dionne
4f1cbf58e9
[tutorial] Improve the section on container types and creation
2015-09-13 16:09:03 -04:00
Louis Dionne
cb2badbc88
[detail/by] Rename detail::by to detail::nested_by for consistency
2015-09-13 10:52:08 -04:00
Louis Dionne
3fdfc475a1
[detail] Remove now unused generate_integer_sequence
2015-09-13 10:52:08 -04:00
Louis Dionne
267cef77e1
[Doc] Remove Doxygen warnings and make it more quiet
2015-09-12 23:54:37 -04:00
Louis Dionne
1d7b720c95
[Enumerable] Remove that concept entirely.
...
Enumerable was not being used inside the library, and its usefulness
was questionable due to the lack of upper/lower bounds.
Closes #23
2015-09-12 17:59:58 -04:00
Louis Dionne
e5c74e5a91
[CMake] Remove unused CMakeDependentOption module
2015-09-12 17:59:57 -04:00
Louis Dionne
2e00dd4706
[Travis] Allow Boost trunk to fail
2015-09-12 17:36:02 -04:00
Louis Dionne
272e583ce5
[tuple] Optimize find_if and do minor refactoring
2015-09-12 15:07:52 -04:00
Louis Dionne
ca2d5a69c5
[Config] Remove xxx_CONSTEXPR_MEMBER_FUNCTION_IS_CONST macro
...
This macro was only relevant on GCC 4.9, but we're not supporting
it anyway.
2015-09-11 12:40:14 -04:00
Louis Dionne
f74cfba590
[functional/partial] Workaround bug in libstdc++ tuple
2015-09-11 12:40:14 -04:00
Louis Dionne
e1f03b8747
[Travis] Only test Boost 1.57 and trunk on the latest clang, to save time
2015-09-09 20:24:16 -04:00
Louis Dionne
37317353b2
[Travis] Re-enable support for (just released) clang 3.7
2015-09-09 20:24:16 -04:00
Louis Dionne
8e80aff466
[detail] Remove now obsolete variadic::for_each
2015-09-09 19:58:40 -04:00
Louis Dionne
049f8e1dd7
[unpack] Show the right benchmark in the docs (was showing transform's)
...
Also, sample every 2 increments, otherwise the graph is undreadable
2015-09-09 19:33:19 -04:00
Louis Dionne
eeb856a243
[detail/operators] Move the hana::operators to detail
...
Makes it clear that this is an implementation detail only. Also, slightly
improve the documentation of operators::adl.
Fixes #178
2015-09-09 18:32:32 -04:00
Louis Dionne
c32ec8c3d0
Reformulate many algorithms in terms of IntegralConstants instead of Constants
2015-09-09 15:55:18 -04:00
Louis Dionne
136ba9be56
[IntegralConstant] Add the repeat
algorithm
...
Fixes #100
2015-09-09 15:37:31 -04:00
Louis Dionne
8b1b9ce0e6
Add the IntegralConstant concept
...
Also, make existing Constants models of IntegralConstant. This fixes #132
by making the definition of a model of Constant reasonably easy for
IntegralConstants.
2015-09-09 15:36:53 -04:00
Louis Dionne
da0a8281d1
Replace decltype(xxx_c) patterns by their actual types
2015-09-09 15:26:19 -04:00
Louis Dionne
cb43a2f7b2
[Doc] Minor fixes
...
- Do not strip comments from the documentation
- Mention `to` in the MCD of Constant
2015-09-09 15:25:50 -04:00
Louis Dionne
b87e1a96aa
[Example] Add missing include to example/basic_type.cpp
2015-09-09 15:21:04 -04:00
Louis Dionne
a7f25d124e
[slice] Accept an arbitrary Foldable of indices, and remove subsequence
...
Fixes #84
2015-09-08 17:29:54 -04:00
Louis Dionne
5de6277f14
[Examples] Remove unecessary include of ext/std/type_traits.hpp
2015-09-08 16:16:43 -04:00
Louis Dionne
5d02750150
Improve diagnostics for supported compilers and standard libraries
...
Closes #172
Closes #168
2015-09-08 08:25:07 -04:00
Louis Dionne
be5a787741
[CMake][Travis] Add support for building without exceptions
...
Also, swap the project() and the cmake_minimum_required() commands
in the top-level CMake file, as this silences a warning when building
on Cygwin. See #168 .
2015-09-07 23:19:31 -04:00
Louis Dionne
f4c120441c
[Sandbox] Clean up and remove obsolete files
...
- Promote the `Tree` experiment to an example
- Remove sandbox/string.cpp; which is nothing but string_view
- Refactor the Function example so it does not use exceptions
- Remove llist.cpp, which is a mostly uninteresting experiment
- Remove sandbox/array.cpp, which is essentially sprout::array
(see https://github.com/bolero-MURAKAMI/Sprout )
The hidden goal of this commit is also to setup the place for building
without exceptions, by removing or modifying the tests that required
them.
2015-09-07 23:19:31 -04:00
Louis Dionne
423bc7220a
[MonadPlus] Rename repeat to replicate
2015-09-07 22:43:35 -04:00
Louis Dionne
35c8d59074
Remove detail::closure, now replaced by basic_tuple
2015-09-07 16:32:14 -04:00
Louis Dionne
37dc041af5
[Functional][lazy] Use basic_tuple instead of closure<>
...
Also, modularize and refactor some unit tests for Functional utilities.
2015-09-07 16:31:23 -04:00
Louis Dionne
ef3d46e8aa
[hana::pair] Document the constructors and add unit tests
2015-09-07 14:28:35 -04:00
Louis Dionne
c8ce4694d0
[Detail] Add the detail/intrinsics.hpp header to centralize the optimization
2015-09-07 13:08:11 -04:00
Louis Dionne
65b91ece69
[integral_constant] Inherit from std::integral_constant
...
Fixes #92
2015-09-06 12:43:47 -04:00
Louis Dionne
54885b9275
[map] Enclose the definition of hana::map in @cond to hide base classes from Doxygen
2015-09-05 22:54:03 -04:00
Louis Dionne
db48f3508e
[Foldable] Add benchmarks for unpack and folds, and optimimze unpack for tuple
2015-09-05 22:54:03 -04:00