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.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_fedora_40-gcc_14-bindist |
| timestamp |
2025-12-26 11:08:10 UTC (03:38:52 hours ago) |
| result |
warning (update) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_12-bindist |
| timestamp |
2025-12-26 08:11:51 UTC (06:35:11 hours ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.8-O2 |
| timestamp |
2025-12-26 07:43:43 UTC (07:03:19 hours ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.8-static_O2 |
| timestamp |
2025-12-26 07:41:48 UTC (07:05:14 hours ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.8 |
| timestamp |
2025-12-26 07:41:22 UTC (07:05:40 hours ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_ubuntu_24.04-gcc_13-bindist |
| timestamp |
2025-12-25 13:39:19 UTC (01 01:07:43 days ago) |
| result |
warning (update) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-static_O3 |
| timestamp |
2025-12-25 13:33:25 UTC (01 01:13:37 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-O3 |
| timestamp |
2025-12-25 13:33:02 UTC (01 01:14:00 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-ndebug_O3 |
| timestamp |
2025-12-25 13:32:53 UTC (01 01:14:09 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14 |
| timestamp |
2025-12-25 13:32:21 UTC (01 01:14:41 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-clang_18_llvm_msvc_17.10-static_O2 |
| timestamp |
2025-12-25 13:31:51 UTC (01 01:15:11 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-clang_18_llvm_msvc_17.10 |
| timestamp |
2025-12-25 13:30:47 UTC (01 01:16:15 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-clang_18_llvm_msvc_17.10-O2 |
| timestamp |
2025-12-25 13:30:09 UTC (01 01:16:53 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-clang_17_msvc_msvc_17.10 |
| timestamp |
2025-12-25 13:24:44 UTC (01 01:22:18 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_13.2_mingw_w64-static_O2 |
| timestamp |
2025-12-25 13:21:53 UTC (01 01:25:09 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_13.2_mingw_w64-O2 |
| timestamp |
2025-12-25 13:21:48 UTC (01 01:25:14 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_13.2_mingw_w64 |
| timestamp |
2025-12-25 13:21:18 UTC (01 01:25:44 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-freebsd13.3 |
| tgt config |
freebsd_13-clang_17 |
| timestamp |
2025-12-25 13:16:53 UTC (01 01:30:09 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-freebsd14.1 |
| tgt config |
freebsd_14-clang_18-static_O3 |
| timestamp |
2025-12-25 13:11:39 UTC (01 01:35:23 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-freebsd14.1 |
| tgt config |
freebsd_14-clang_18-O3 |
| timestamp |
2025-12-25 13:11:29 UTC (01 01:35:33 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_17_libc++ |
| timestamp |
2025-12-25 13:10:30 UTC (01 01:36:32 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_17 |
| timestamp |
2025-12-25 13:09:30 UTC (01 01:37:32 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_13.1 |
| timestamp |
2025-12-25 13:08:57 UTC (01 01:38:05 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-freebsd14.1 |
| tgt config |
freebsd_14-clang_18 |
| timestamp |
2025-12-25 13:08:17 UTC (01 01:38:45 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-O3 |
| timestamp |
2025-12-25 12:51:40 UTC (01 01:55:22 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-static_O3 |
| timestamp |
2025-12-25 12:51:27 UTC (01 01:55:35 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-static_O3 |
| timestamp |
2025-12-25 12:50:28 UTC (01 01:56:34 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-O3 |
| timestamp |
2025-12-25 12:49:54 UTC (01 01:57:08 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++ |
| timestamp |
2025-12-25 12:49:44 UTC (01 01:57:18 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_17_libc++ |
| timestamp |
2025-12-25 11:20:56 UTC (01 03:26:06 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_13 |
| timestamp |
2025-12-25 11:20:23 UTC (01 03:26:39 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_17 |
| timestamp |
2025-12-25 11:19:51 UTC (01 03:27:11 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18 |
| timestamp |
2025-12-24 13:39:01 UTC (02 01:08:01 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14 |
| timestamp |
2025-12-24 12:22:01 UTC (02 02:25:01 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-ndebug_O3 |
| timestamp |
2025-12-24 11:46:37 UTC (02 03:00:25 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-static_O3 |
| timestamp |
2025-12-24 11:46:04 UTC (02 03:00:58 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-O3 |
| timestamp |
2025-12-24 11:45:31 UTC (02 03:01:31 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.10-static_O2 |
| timestamp |
2025-12-23 22:17:46 UTC (02 16:29:16 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.10-O2 |
| timestamp |
2025-12-23 22:17:01 UTC (02 16:30:01 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.10 |
| timestamp |
2025-12-23 22:14:51 UTC (02 16:32:11 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_18 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-O3 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-static_O3 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++ |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-O3 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-static_O3 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_fedora_39-gcc_13-bindist |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-apple-darwin22.5.0 |
| tgt config |
macos_13-clang_15.0 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0-O3 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0-static_O3 |
| result |
unbuilt |
| 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) |