Higher-order functions for C++
About
HigherOrderFunctions is a header-only C++11/C++14 library that provides utilities for functions and function objects, which can solve many problems with much simpler constructs than whats traditionally been done with metaprogramming.
HigherOrderFunctions is:
- Modern: HigherOrderFunctions takes advantages of modern C++11/C++14 features. It support both
constexpr initialization and constexpr evaluation of functions. It takes advantage of type deduction, variadic templates, and perfect forwarding to provide a simple and modern interface.
- Relevant: HigherOrderFunctions provides utilities for functions and does not try to implement a functional language in C++. As such, HigherOrderFunctions solves many problems relevant to C++ programmers, including initialization of function objects and lambdas, overloading with ordering, improved return type deduction, and much more.
- Lightweight: HigherOrderFunctions builds simple lightweight abstraction on top of function objects. It does not require subscribing to an entire framework. Just use the parts you need.
Reviews
Builds
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-msvc_18-static_O2 |
| timestamp |
2026-09-06 20:45:55 UTC (10:49:19 hours ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-msvc_18-O2 |
| timestamp |
2026-09-06 20:44:58 UTC (10:50:16 hours ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-msvc_18 |
| timestamp |
2026-09-06 20:44:06 UTC (10:51:08 hours ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-clang_21_msvc_18-static_O2 |
| timestamp |
2026-09-06 12:45:58 UTC (18:49:17 hours ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-clang_21_msvc_18-O2 |
| timestamp |
2026-09-06 12:45:23 UTC (18:49:51 hours ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-clang_21_msvc_18 |
| timestamp |
2026-09-06 12:45:08 UTC (18:50:06 hours ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17 |
| timestamp |
2026-09-06 11:37:30 UTC (19:57:44 hours ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_ubuntu_26.04-gcc_15-bindist |
| timestamp |
2026-09-03 14:08:42 UTC (03 17:26:32 days ago) |
| result |
warning (update) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_15.2_mingw_w64-static_O2 |
| timestamp |
2026-09-03 12:20:48 UTC (03 19:14:27 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_15.2_mingw_w64 |
| timestamp |
2026-09-03 12:20:44 UTC (03 19:14:31 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_15.2_mingw_w64-O2 |
| timestamp |
2026-09-03 12:20:04 UTC (03 19:15:10 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_fedora_44-gcc_16-bindist |
| timestamp |
2026-08-31 04:37:34 UTC (07 02:57:40 days ago) |
| result |
warning (update) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22_libc++-static_O3 |
| timestamp |
2026-08-26 10:59:30 UTC (11 20:35:44 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22_libc++-O3 |
| timestamp |
2026-08-26 10:59:26 UTC (11 20:35:49 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22_libc++ |
| timestamp |
2026-08-26 10:59:01 UTC (11 20:36:14 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22-static_O3 |
| timestamp |
2026-08-26 10:58:46 UTC (11 20:36:28 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22-O3 |
| timestamp |
2026-08-26 10:58:45 UTC (11 20:36:30 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22 |
| timestamp |
2026-08-26 10:58:20 UTC (11 20:36:54 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0-static_O3 |
| timestamp |
2026-08-26 10:45:58 UTC (11 20:49:16 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0-O3 |
| timestamp |
2026-08-26 10:45:04 UTC (11 20:50:11 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_16-static_O3 |
| timestamp |
2026-08-26 10:45:03 UTC (11 20:50:11 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_16-ndebug_O3 |
| timestamp |
2026-08-26 10:44:54 UTC (11 20:50:20 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_16-O3 |
| timestamp |
2026-08-26 10:44:40 UTC (11 20:50:34 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_16 |
| timestamp |
2026-08-26 10:44:21 UTC (11 20:50:53 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0 |
| timestamp |
2026-08-26 10:44:18 UTC (11 20:50:57 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin22.5.0 |
| tgt config |
macos_13-clang_15.0 |
| timestamp |
2026-08-26 10:29:56 UTC (11 21:05:19 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_21_libc++ |
| timestamp |
2026-08-26 10:22:55 UTC (11 21:12:19 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_21 |
| timestamp |
2026-08-26 10:22:40 UTC (11 21:12:34 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_15-O3 |
| timestamp |
2026-08-26 10:21:50 UTC (11 21:13:24 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_15 |
| timestamp |
2026-08-26 10:21:11 UTC (11 21:14:03 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_14-bindist |
| timestamp |
2026-08-26 10:20:03 UTC (11 21:15:11 days ago) |
| result |
warning (update) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_ubuntu_24.04-gcc_13-bindist |
| timestamp |
2026-08-26 10:18:00 UTC (11 21:17:14 days ago) |
| result |
warning (update) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-freebsd15.0 |
| tgt config |
freebsd_15-clang_19-static_O3 |
| timestamp |
2026-08-26 10:17:45 UTC (11 21:17:30 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-freebsd15.0 |
| tgt config |
freebsd_15-clang_19-O3 |
| timestamp |
2026-08-26 10:17:29 UTC (11 21:17:45 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-freebsd15.0 |
| tgt config |
freebsd_15-clang_19 |
| timestamp |
2026-08-26 10:17:10 UTC (11 21:18:04 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-static_O3 |
| timestamp |
2026-08-26 10:16:36 UTC (11 21:18:39 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-O3 |
| timestamp |
2026-08-26 10:16:03 UTC (11 21:19:12 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++ |
| timestamp |
2026-08-26 10:16:02 UTC (11 21:19:12 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-static_O3 |
| timestamp |
2026-08-26 10:15:31 UTC (11 21:19:43 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-O3 |
| timestamp |
2026-08-26 10:15:30 UTC (11 21:19:44 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18 |
| timestamp |
2026-08-26 10:14:58 UTC (11 21:20:17 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-freebsd14.1 |
| tgt config |
freebsd_14-clang_18 |
| timestamp |
2026-08-26 10:12:58 UTC (11 21:22:16 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-static_O3 |
| timestamp |
2026-08-25 11:34:27 UTC (12 20:00:47 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-O3 |
| timestamp |
2026-08-25 11:33:59 UTC (12 20:01:16 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-ndebug_O3 |
| timestamp |
2026-08-25 11:33:51 UTC (12 20:01:23 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14 |
| timestamp |
2026-08-25 11:33:25 UTC (12 20:01:49 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_13 |
| timestamp |
2026-08-25 10:28:19 UTC (12 21:06:55 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_fedora_43-gcc_15-bindist |
| timestamp |
2026-08-24 10:19:35 UTC (13 21:15:39 days ago) |
| result |
warning (update) | log | rebuild |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-gcc_14_homebrew |
| result |
excluded (https://github) |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-gcc_14_homebrew-O3 |
| result |
excluded (https://github) |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-gcc_14_homebrew-static_O3 |
| result |
excluded (https://github) |