Commit Graph

339 Commits

Author SHA1 Message Date
Paul
471041093b Properly set the macro 2016-06-20 22:38:27 -05:00
Paul
f7f6f029b9 Use weak variables for lambdas 2016-06-20 22:47:22 -04:00
Paul
28fbcc2364 No weak variables on clang because it breaks on classes that internal linkage 2016-06-20 20:58:34 -04:00
Paul
615807479b Remove constexpr on msvc 2016-06-20 17:33:52 -07:00
Paul
21ba6e3b0b Use constexpr on msvc 2016-06-20 20:01:46 -04:00
Paul
24cfab5d63 Add extern on windows 2016-06-20 19:42:48 -04:00
Paul
55f9590f16 Update the defines 2016-06-20 19:42:33 -04:00
Paul
320fb23e3f Add extern 2016-06-20 18:48:10 -04:00
Paul
10de950416 Dont use static for weak variables 2016-06-20 18:44:34 -04:00
Paul
ccc6ea5013 Simplify function declarations 2016-06-20 18:37:26 -04:00
Paul
eb3282ae80 No variable templates for clang 3.4 2016-06-15 13:25:51 -05:00
Paul
e11778eae3 Use static constexpr to declare template variable 2016-06-15 13:13:46 -05:00
Paul
813a0121ef Dont use auto in template variables 2016-06-15 13:04:29 -05:00
Paul
ac34a8d978 Use the correct ebo macro 2016-06-15 12:58:13 -05:00
Paul
fcdb5386c3 Fix errors on gcc 4.6 2016-06-15 12:52:23 -05:00
Paul
34a1b692a6 Tag dispatch on true/false 2016-06-15 12:47:52 -05:00
Paul
c04d219fad Fix mangling overload 2016-06-15 12:40:07 -05:00
Paul
ab01d4cf75 Update travis to exit on error 2016-06-15 12:32:54 -05:00
Paul
7cd874e80c Add missing headers 2016-06-15 12:04:16 -05:00
Paul
6b4063acb2 Use weak variables on targets that support it 2016-06-15 12:03:14 -05:00
Paul
7f87b03c1b Merge branch 'is_callable_check' into develop 2016-06-15 10:57:48 -05:00
Paul
9e47a0bf39 Add missing version file 2016-06-14 15:58:52 -05:00
Paul
96aa3b75c9 Update links 2016-06-14 00:24:08 -05:00
Paul
375f12315b Some more fixes to toc 2016-06-05 23:56:49 -05:00
Paul
26a140a0bb Seperate function_param_limit into seperate header 2016-06-05 22:20:28 -05:00
Paul
4371c3c02f Seperate unpack header 2016-06-05 21:05:07 -05:00
Paul
674e62bc16 Add static_assert when using the incorrect form for is_callable 2016-05-26 21:13:31 -05:00
Paul
d71d6f0dec Use logarithmic algorithm for generating an index of integers for issue #147 2016-04-27 23:36:40 -05:00
Paul
5c3768a3b5 Use template variables for functions that have explicit template parameters for issue #117 2016-04-27 23:11:12 -05:00
Paul
8c1a7ec2d8 No variable templates for msvc 2016-04-27 22:59:52 -05:00
Paul
66d7d7d9bc Add variable template config 2016-04-27 22:59:14 -05:00
Paul
4952d797c4 Rename dependent typing for #160 2016-04-27 22:36:38 -05:00
Paul
88c28bf731 Capture use compressed_pair 2016-04-27 01:14:17 -05:00
Paul
c48b0cb3f1 Fallback on std version when feature is not available 2016-04-27 00:51:36 -05:00
Paul
bae83a164a Merge branch 'sd6' into develop 2016-04-27 00:34:50 -05:00
Paul
2ad4009068 Use value for type trait 2016-04-23 23:44:23 -05:00
Paul
f4b6da69ab Add documentation about point-free style 2016-04-23 23:22:32 -05:00
Paul
80ebf52d74 Decay arguments for unamed placeholder 2016-04-19 07:07:23 -05:00
Paul
81b8b11279 Use sd6 feature macros for detection 2016-04-04 00:28:01 -05:00
Paul
37355c5f1d Issue #155: Remove FIT_HAS_STATIC_LAMBDA configuration 2016-03-26 23:06:01 -06:00
Paul
1a9b1ec61a Merge branch 'conditional' into develop 2016-03-25 20:56:41 -05:00
Paul
4f9fd6b47a Setup conditional to handle the same function multiple times, this fixes issue #123 2016-03-25 20:42:00 -05:00
Paul
5aa5211cfb Issue #152: Add missing config header file 2016-03-25 16:53:52 -05:00
Paul
7c1fe28ad3 Compressed pair use the EBO configuration 2016-03-25 16:41:25 -05:00
Paul
c2c01a2c4d Remove static_constexpr header 2016-03-25 16:37:21 -05:00
Paul
c9b1cdee5f Remove sfinae header 2016-03-25 16:33:07 -05:00
Paul
1b51983c84 Issue #152: Move all configurations to a single config header file 2016-03-25 16:25:01 -05:00
Paul
927904ff5d Add missing string header 2016-03-25 15:03:48 -05:00
Paul
6eacd32438 Rename to logger to avoid conflicts with msvc math header 2016-03-25 14:42:42 -05:00
Paul
8724e850b7 Add static to static variable 2016-03-24 12:06:09 -05:00
Paul
5006ee830b Add static keyword to implicit 2016-03-24 01:10:40 -05:00
Paul
34560e3d8e Extract examples using cmake 2016-03-24 01:00:16 -05:00
Paul
918fd4c1db Make examples copy and pasteable for issue #144 2016-03-23 18:28:13 -05:00
Paul
40f68b74e7 Use limit to limit the number of paramters for lazy or any function 2016-03-23 14:42:49 -05:00
Paul
088f81a98b Make sure indirection doesn't remove constness 2016-03-22 22:59:49 -05:00
Paul
2f1fd0cf6a Remvoe unused macro for issue #113 2016-03-22 19:03:18 -05:00
Paul
9bc294e945 Add a note about capturing by value for lazy adaptor with a note std::ref. This fixes issue #138 and #139 2016-03-22 00:28:05 -05:00
Paul
4245a89b7f Add specialization for boost:is_placeholder for issue #119 2016-03-21 18:26:14 -05:00
Paul
9f4fcb7cf9 Add missing master header 2016-03-21 16:51:23 -05:00
Paul
d7e88e997f Try to disable warning for apply macro for issue #121 2016-03-21 16:13:43 -05:00
Paul
f1ff31d90a Push/pop warnings for msvc for issue #120 2016-03-21 16:10:40 -05:00
Paul
47e362ea97 Document always(void) for issue #115 2016-03-21 16:04:00 -05:00
Paul
4674466fdc Undocument always_ref for issue #114 2016-03-21 15:59:09 -05:00
Paul
5af24d9024 Better describe the lift operator for issue #106 2016-03-21 15:56:21 -05:00
Paul
91e1ca790f Add by(p) semantics for issue #104 2016-03-21 15:51:55 -05:00
Paul
57e760f231 Fix problem with always_void 2016-03-21 14:06:52 -05:00
Paul
4119d2e6cf Fix ADL problems with issue #112 2016-03-21 05:48:11 -05:00
Paul
4d06b35fca Remove unused header 2016-03-20 08:25:32 -05:00
Paul
2b0d97d7e6 Add workaround for gcc 4.7 to handle nested compressed_pair 2016-03-19 12:19:26 -05:00
Paul
7ee6b63cc1 Reorganize the ordering for decorate_adaptor 2016-03-19 11:28:01 -05:00
Paul
5cc7d615dc Better handle inheritance in decorate adaptor 2016-03-19 10:53:53 -05:00
Paul
3ee0235316 Handle final types in can_be_called 2016-03-19 09:46:30 -05:00
Paul
9526c2afa0 Add missing is_final intrinsic for msvc 2016-03-19 08:55:41 -05:00
Paul
72ae4cf85c Add missing tests and disable checking for final on gcc 4.6 2016-03-19 00:47:02 -05:00
Paul
0d02a37cbf Only inherit non-polymorphic and non-final classes, this fixes issue #129 2016-03-19 00:35:54 -05:00
Paul
9eb9534d6d constexpr void only on clang with relaxed constexpr 2016-03-16 14:10:27 -05:00
Paul
04fefc071c Make arg sfinae-friendly, this fixes issue #148 2016-03-16 13:30:59 -05:00
Paul
fad52fc912 Fixes for issue #118 2016-03-16 12:58:49 -05:00
Paul
f99f25896c Remove extraneous define of FIT_NO_CONSTEXPR_VOID for issue #113 2016-03-16 12:29:12 -05:00
Paul
e87bbc3c78 Remove FIT_UNARY_PERFECT_ID for issue #113 2016-03-16 12:26:56 -05:00
Paul
e3bf390b54 Add links to fold 2016-03-01 10:10:26 -06:00
Paul
7b6dcd0c64 Add additional semantics to apply 2016-03-01 10:07:49 -06:00
Paul
52b54cd8e9 Update documentation about const callability: 2016-03-01 09:30:56 -06:00
Paul
98cec4f27d Add faq, and reoragnize the mkdoc.yml file 2016-03-01 09:01:22 -06:00
Paul
f3d4c5ebeb Annotate closing brace in example 2016-02-28 01:47:45 -06:00
Paul
9e7146d96d Merge branches 'flow-tests' and 'static-lift' 2016-02-27 23:53:04 -06:00
Paul
fc41dc82ea Add more tests to flow adaptor 2016-02-27 23:33:53 -06:00
Paul
9349b1b5bd Make fit_lift use static_lambda 2016-02-27 23:27:00 -06:00
Paul
8e0e9559f4 Add a note about constexpr support on MSVC and gcc4.6 2016-02-27 23:04:16 -06:00
Paul
c19995eec4 Add more tests to help compose on msvc 2016-02-27 13:35:12 -08:00
Paul
ba59709ea1 Fixes for tuple_get on gcc 4.6 2016-02-27 14:01:57 -06:00
Paul
637af93855 Fix problems with infix on gcc 2016-02-27 13:07:37 -06:00
Paul
ed597cba6d Add more tests for infix operator 2016-02-26 18:13:30 -06:00
Paul
6935a351b2 Add an initial print example, and fixes for unpacking a tuple 2016-02-26 14:13:59 -06:00
Paul
1e6568aedf Merge branch 'examples' of github.com:pfultz2/Fit into examples 2016-02-25 15:20:50 -06:00
Paul
a80bb237bb More friendly example for msvc 2016-02-25 15:20:37 -06:00
Paul
73eace7c14 Add tests for lift, and a workaround for MSVC 2016-02-25 12:37:24 -08:00
Paul
04fa68ecf6 Fix fix example on msvc 2016-02-25 07:44:24 -08:00
Paul
526e33528c Add returns example to tests 2016-02-24 10:07:50 -06:00
Paul
7e46850e03 Use explicit namepspace for unpack 2016-02-24 07:55:59 -06:00
Paul
9fc2947499 Some more document fixes 2016-02-24 00:50:19 -06:00
Paul
4d334b2320 Document configurations in the Fit library 2016-02-23 09:59:18 -06:00
Paul
9cd7beb25f Fix typo of declval 2016-02-22 19:04:42 -06:00
Paul
cc769e7f00 Add a note about the the reveal adaptor being used with static functions 2016-02-22 18:52:59 -06:00
Paul
d9198cf7f1 Document the failure reporting with reveal 2016-02-22 18:47:36 -06:00
Paul
4495d96159 Add a sample of error messages to reveal 2016-02-22 09:31:46 -06:00
Paul
2f3e3e162b Dont access nested template type 2016-02-21 23:30:44 -06:00
Paul
7121b4d4e8 Remove extra template paramters to make the output of the error message cleaner 2016-02-21 18:50:49 -06:00
Paul
334642f947 Only use aliases on clang 2016-02-21 18:05:01 -06:00
Paul
b396f46a09 Add more tests for reveal and add a mechanism to specifiy failures from a template alias 2016-02-21 17:12:37 -06:00
Paul
3d233d100b Use base template parameter for reveal 2016-02-21 11:52:51 -06:00
Paul
b2e21012f9 Update documentation for repeat and repeat_while 2016-02-21 10:09:29 -06:00
Paul
dc02c2786e Add link to result 2016-02-21 10:06:06 -06:00
Paul
7cfcb4f7f9 Update documentation about use of constexpr with fix 2016-02-21 10:05:34 -06:00
Paul
70362b20ec Fix repeat_while tests for integrals 2016-02-21 09:49:23 -06:00
Paul
2a668fecb5 Specialize conditional on two functions 2016-02-21 09:18:09 -06:00
Paul
9b9b63a617 Make conditional lazy 2016-02-21 08:51:56 -06:00
Paul
d638652ada Initial work for integral repeat_while 2016-02-21 08:42:53 -06:00
Paul
12b277b399 Add a configuration for recursive constexpr depth 2016-02-21 01:29:50 -06:00
Paul
0907470b80 Use a more constexpr friendly decrement 2016-02-21 00:07:54 -06:00
Paul
f87ed92113 Adding result on fix combinator injects the result into the function 2016-02-20 23:06:14 -06:00
Paul
db6f248b2a Add support for constexpr fix combinator 2016-02-20 21:14:12 -06:00
Paul
1aafe95a3b Add support using regular integers in repeat 2016-02-20 18:04:42 -06:00
Paul
fa94a7b8ca Expand alias 2016-02-20 16:42:35 -06:00
Paul
c2ebe69df6 Merge branch 'intrinstics' 2016-02-20 16:09:26 -06:00
Paul
0d1653a370 Fix typo in callable_base_type 2016-02-20 15:46:51 -06:00
Paul
9cae0ed0bb Disable static casting for perfect forwarding on msvc 2016-02-20 13:36:35 -08:00
Louis Dionne
f27f8553fa [unpack] Fix typo in the documentation 2016-02-19 20:30:00 -05:00
Paul
7f55bbcf1a Add more explanation for decorators 2016-02-19 17:23:55 -06:00
Paul
964989ad9f Remove extraneous parens 2016-02-19 13:57:01 -06:00
Paul
dcf11de975 Fix incorrect elipsis 2016-02-19 13:51:31 -06:00
Paul
3be9a3ef2b Improve example for decorator 2016-02-19 13:40:14 -06:00
Paul
a3164289e7 Use default constructible intrisic everywhere 2016-02-19 09:49:27 -06:00
Paul
1a25cc6f3d MSVC fixes when using and unpack 2016-02-19 07:37:20 -08:00
Paul
dcf4598158 Fix missing closing bracket 2016-02-19 09:10:09 -06:00
Paul
0b03a45605 Try using constexpr function for msvc 2016-02-19 08:59:23 -06:00
Paul
b9cbabd4c8 Move intrinsic to seperate class to avoid mangling problems of type trait expression 2016-02-19 08:39:47 -06:00
Paul
b24a0f73b6 Update with more intrisics 2016-02-19 01:34:53 -06:00
Paul
f694492451 Fixes for msvc 2016-02-19 01:29:03 -06:00
Paul
d090395368 Disable template aliases on gcc 4.7 2016-02-18 18:34:48 -06:00
Paul
9d4bbf6f92 Fix warning on gcc 2016-02-18 17:58:46 -06:00
Paul
b35d57ae38 Use fit_returns 2016-02-18 14:57:43 -06:00
Paul
176d5f5482 Unpack and expression 2016-02-18 13:05:43 -06:00
Paul
6b7b590f34 Use default constructor intrisctic 2016-02-18 10:56:39 -06:00
Paul
cc7ebb047c Fix name of is_literal type trait 2016-02-18 10:33:44 -06:00
Paul
b22252fd8c Set the right intristic name for gcc 2016-02-18 10:26:30 -06:00
Paul
19d24b631c Setup intristics for other compilers as well 2016-02-18 00:59:19 -06:00
Paul
cce5f0a660 Add macros for type trait instrinstics 2016-02-18 00:30:33 -06:00
Paul
d5ad1f04f8 Dont use aliases for failures 2016-02-17 23:49:38 -06:00
Paul
8f6b88c120 Merge branch 'static_cast' into using-alias 2016-02-17 02:11:28 -06:00
Paul
cb45a7041c Add fixes for conditonal for msvc and gcc 4.6 platforms 2016-02-15 16:22:10 -06:00
Paul
df730322b0 Merge branch 'static_cast' into using-alias 2016-02-15 11:53:08 -06:00
Paul
bc84ccb6bb Improve compile time performance of condtional adaptor 2016-02-15 11:33:13 -06:00
Paul
f96be0cb16 Use static_cast in pipe invoke 2016-02-15 10:45:57 -06:00
Paul
5dc9796a09 Add using alias to is_callable 2016-02-15 10:42:12 -06:00
Paul
136486363b Use alias for and_ and default construction 2016-02-14 21:34:22 -06:00
Paul
c599b5fe03 Add missing using header 2016-02-14 21:28:37 -06:00
Paul
0b98ee72ab Add using alias for reveal adaptor 2016-02-14 20:49:34 -06:00
Paul
2eb84afe56 Replace move with casts 2016-02-13 19:08:06 -06:00
Paul
4a09ba28cf Add static_cast to decay 2016-02-13 18:55:20 -06:00
Paul
f5ffe620dc Replace forward with static_cast 2016-02-13 18:54:19 -06:00
Paul
538aa5b0f3 Add example for decorate 2016-02-13 16:29:16 -06:00
Paul Fultz II
b02b4bf237 Merge pull request #94 from tzlaine/patch-4
Docs: idenity -> identity
2016-02-10 20:45:41 -06:00
Paul
dc3417c9b7 Extract all examples from file 2016-02-10 20:29:16 -06:00
Paul
4ff3f0277e Fix warnings and errors in examples 2016-02-10 19:43:48 -06:00
Paul
e0d0dab9a7 Fix spelling of no ordered brace init macro 2016-02-10 19:13:08 -06:00
Paul
5a2726d4ed Add void casts to avoid compiler error with return types 2016-02-10 19:05:30 -06:00
Paul
75ba99b218 Add return statement 2016-02-10 18:45:32 -06:00
Paul
0fb6a69ee1 Mask void in apply_eval 2016-02-10 18:40:35 -06:00
Paul
ec8346960b Fix compile errors in example code 2016-02-10 18:12:30 -06:00
Zach Laine
db685e1762 idenity -> identity 2016-02-10 11:56:31 -06:00
Paul Fultz II
addd44cb4c Merge pull request #91 from tzlaine/patch-3
Docs: In combine() docs, use different int constants for clarity.
2016-02-09 09:16:59 -06:00
Paul Fultz II
19c05abb8d Merge pull request #88 from tzlaine/patch-2
Docs fix: Correct misuse of "continually".
2016-02-09 09:16:15 -06:00
Zach Laine
c370b4b149 In combine() docs, use different int constants for clarity. 2016-02-09 09:06:16 -06:00
Zach Laine
1b12e3bc44 Correct misuse of "continually" in "partial" docs. 2016-02-09 08:48:47 -06:00
Zach Laine
b7dedf1c0c In fix() docs, use the name of the first arg to F for exposition. 2016-02-08 14:08:00 -06:00
Jake Brownson
6fbf81aa67 fix typo in docs 2016-02-03 15:55:49 -08:00
Paul
cde4ff3ecb Annotate fit namespace in returns 2016-01-19 10:23:34 -06:00
Paul
3b4cb2ccf2 Fix spelling mistake 2016-01-19 00:30:14 -06:00
Paul
3379ea0cbd Add missing annotation in placeholders 2016-01-19 00:24:45 -06:00
Paul
8bff7096c4 Update combine to use size_t 2016-01-18 18:04:18 -06:00
Paul
d2b0aeb09e Rename to args to arg, add arg_c and use std::size_t for indices 2016-01-18 15:53:24 -06:00
Paul
06dee68d5f Fix warnings in clang 2016-01-18 08:05:51 -06:00
Paul
1d5323a165 Add missing newlines 2016-01-17 23:50:01 -06:00
Paul
0a57f66524 Add newline eof warning 2016-01-17 23:45:11 -06:00
Paul
399ef3304c Annotate closing namespace 2016-01-17 23:42:00 -06:00
Paul
ff5207ed5d Rename includes 2016-01-17 23:16:02 -06:00
Paul
5b6eaca26a Rename headers 2016-01-17 23:04:10 -06:00
Paul
be316e624c Move fit to include directory 2016-01-17 19:10:53 -06:00