Commit Graph

1973 Commits

Author SHA1 Message Date
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