enum_set/0.1.0-a.1

[full]

A library of type safe sets over fixed size collections of types or values, including methods for accessing, modifying, visiting and iterating over those.

Build status Code coverage GitHub release License

A library of type safe sets over fixed size collections of types or values, including methods for accessing, modifying, visiting and iterating over those.

Rationale

Enums are great, as long as you use them to represent individual flags or options. If you want to represent a set of options using an enumeration, one would typically let the values of the enumeration take on powers of two and then "or" them together

enum class option
{
    A = (1 << 0),
    B = (1 << 1),
    C = (1 << 2)
};

int operator|(option lhs, option rhs)
{
    return static_cast<int>(lhs) | static_cast<int>(rhs);
}
... More
version 0.1.0-a.1
license MITMIT License
repository https://pkg.cppget.org/1/alpha
download enum_set-0.1.0-a.1.tar.gz
sha256 ae8f27819e04c14b9f37411863eaec366f629ef58df4618c27235d1d331a6562
project enum_set
url github.com/cdeln/cpp_enum_set
src-url github.com/cdeln/cpp_enum_set
topics enum setstype setstype safetyfixed size containers

Depends (2)

doctest ^2.3.6For testing
magic_enum ^0.7.2For magic enum integration

Requires (1)

c++ >= 17

Reviews

fail 0
pass 1

Builds

toolchain public-0.18.1
target x86_64-apple-darwin23.5.0
tgt config macos_14-gcc_14_homebrew-static_O3
timestamp 2026-05-14 00:52:52 UTC (03 21:52:16 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-apple-darwin23.5.0
tgt config macos_14-gcc_14_homebrew-O3
timestamp 2026-05-14 00:51:43 UTC (03 21:53:24 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-apple-darwin23.5.0
tgt config macos_14-gcc_14_homebrew
timestamp 2026-05-14 00:49:51 UTC (03 21:55:17 days ago)
result success | 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-05-13 22:51:43 UTC (03 23:53:24 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-apple-darwin23.5.0
tgt config macos_14-clang_15.0-O3
timestamp 2026-05-13 22:50:34 UTC (03 23:54:33 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-apple-darwin23.5.0
tgt config macos_14-clang_15.0
timestamp 2026-05-13 22:49:24 UTC (03 23:55:43 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-gcc_16-static_O3
timestamp 2026-05-13 21:07:22 UTC (04 01:37:45 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-clang_22_libc++-static_O3
timestamp 2026-05-13 21:07:10 UTC (04 01:37:58 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-clang_22_libc++-O3
timestamp 2026-05-13 21:06:48 UTC (04 01:38:20 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-gcc_16-ndebug_O3
timestamp 2026-05-13 21:06:43 UTC (04 01:38:24 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-clang_22_libc++
timestamp 2026-05-13 21:06:35 UTC (04 01:38:33 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-apple-darwin22.5.0
tgt config macos_13-clang_15.0
timestamp 2026-05-13 21:06:34 UTC (04 01:38:33 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-gcc_16-O3
timestamp 2026-05-13 21:06:34 UTC (04 01:38:34 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-clang_22-static_O3
timestamp 2026-05-13 21:06:12 UTC (04 01:38:55 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-gcc_16
timestamp 2026-05-13 21:06:04 UTC (04 01:39:04 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_fedora_43-gcc_15-bindist
timestamp 2026-05-13 21:06:00 UTC (04 01:39:07 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-clang_22-O3
timestamp 2026-05-13 21:05:52 UTC (04 01:39:15 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-clang_22
timestamp 2026-05-13 21:05:39 UTC (04 01:39:29 days ago)
result success | log | rebuild
toolchain public-0.18.1
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_14-static_O3
timestamp 2026-05-13 17:55:11 UTC (04 04:49:57 days ago)
result success | log | rebuild
toolchain public-0.18.1
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_14-ndebug_O3
timestamp 2026-05-13 17:54:14 UTC (04 04:50:54 days ago)
result success | log | rebuild
toolchain public-0.18.1
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18_libc++-static_O3
timestamp 2026-05-13 17:54:02 UTC (04 04:51:06 days ago)
result success | log | rebuild
toolchain public-0.18.1
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_14-O3
timestamp 2026-05-13 17:53:25 UTC (04 04:51:43 days ago)
result success | log | rebuild
toolchain public-0.18.1
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18_libc++-O3
timestamp 2026-05-13 17:53:17 UTC (04 04:51:50 days ago)
result success | log | rebuild
toolchain public-0.18.1
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_14
timestamp 2026-05-13 17:53:10 UTC (04 04:51:58 days ago)
result success | log | rebuild
toolchain public-0.18.1
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18_libc++
timestamp 2026-05-13 17:52:58 UTC (04 04:52:10 days ago)
result success | log | rebuild
toolchain public-0.18.1
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18-static_O3
timestamp 2026-05-13 17:52:21 UTC (04 04:52:47 days ago)
result success | log | rebuild
toolchain public-0.18.1
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18-O3
timestamp 2026-05-13 17:52:05 UTC (04 04:53:02 days ago)
result success | log | rebuild
toolchain public-0.18.1
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18
timestamp 2026-05-13 17:51:29 UTC (04 04:53:39 days ago)
result success | log | rebuild
toolchain public-0.18.1
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_13
timestamp 2026-05-13 14:23:04 UTC (04 08:22:03 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-gcc_14-bindist
timestamp 2026-05-13 13:48:24 UTC (04 08:56:43 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_ubuntu_24.04-gcc_13-bindist
timestamp 2026-05-13 13:47:41 UTC (04 08:57:27 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-freebsd15.0
tgt config freebsd_15-clang_19-static_O3
timestamp 2026-05-13 13:41:06 UTC (04 09:04:02 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-freebsd14.1
tgt config freebsd_14-clang_18
timestamp 2026-05-13 13:40:48 UTC (04 09:04:20 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-freebsd15.0
tgt config freebsd_15-clang_19-O3
timestamp 2026-05-13 13:40:26 UTC (04 09:04:42 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-freebsd15.0
tgt config freebsd_15-clang_19
timestamp 2026-05-13 13:40:18 UTC (04 09:04:50 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-clang_21_libc++
timestamp 2026-05-13 13:37:59 UTC (04 09:07:08 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-gcc_15-O3
timestamp 2026-05-13 13:37:04 UTC (04 09:08:04 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-gcc_15
timestamp 2026-05-13 13:36:11 UTC (04 09:08:56 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_debian_13-clang_21
timestamp 2026-05-13 13:35:19 UTC (04 09:09:48 days 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-05-11 09:32:54 UTC (06 13:12:13 days ago)
result error (update) | 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-05-11 09:32:51 UTC (06 13:12:17 days ago)
result error (update) | log | rebuild
toolchain public-0.18.1
target x86_64-microsoft-win32-msvc14.5
tgt config windows_10-clang_21_msvc_18
timestamp 2026-05-11 09:32:03 UTC (06 13:13:05 days ago)
result error (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-05-08 12:22:05 UTC (09 10:23:03 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-w64-mingw32
tgt config windows_10-gcc_15.2_mingw_w64-O2
timestamp 2026-05-08 12:21:54 UTC (09 10:23:13 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-w64-mingw32
tgt config windows_10-gcc_15.2_mingw_w64
timestamp 2026-05-08 12:21:54 UTC (09 10:23:14 days 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-05-08 11:52:35 UTC (09 10:52:32 days ago)
result success | log | rebuild
toolchain public-0.18.1
target x86_64-linux-gnu
tgt config linux_fedora_44-gcc_16-bindist
timestamp 2026-05-04 16:01:23 UTC (13 06:43:45 days ago)
result success | log | rebuild
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17
result excluded
target x86_64-microsoft-win32-msvc14.5
tgt config windows_10-msvc_18
result excluded
target x86_64-microsoft-win32-msvc14.5
tgt config windows_10-msvc_18-O2
result excluded
target x86_64-microsoft-win32-msvc14.5
tgt config windows_10-msvc_18-static_O2
result excluded