Commit Graph

337 Commits

Author SHA1 Message Date
neargye ec11ae0c28 removed restrictions on maximum range size 2024-02-22 14:23:33 +04:00
neargye 414fb654d3 update copyright 2024-01-02 02:50:34 +04:00
neargye aa465f7f37 update doc and example 2024-01-02 02:39:10 +04:00
neargye 9565965afd clean-up 2024-01-02 02:04:57 +04:00
neargye e26b05e0a0 clean-up 2023-12-18 00:56:13 +04:00
Daniil Goncharov e09f25780a checking that the enum is valid (not empty and not forward declaration) (#323) 2023-12-16 17:00:00 +04:00
neargye 41f674b061 fix enum_fuse 2023-12-09 23:56:44 +04:00
Justin Boswell 804738ba8a Add support for overriding MAGIC_ENUM_ASSERT (#322) 2023-12-06 11:46:57 +04:00
neargye e55b9b54d5 v0.9.5 2023-11-16 12:32:10 +04:00
neargye 677636ec43 clean-up 2023-11-15 23:07:55 +04:00
Arkhipov Ivan 56dcb011c2 Put get to magic_enum::containers namespace (#316) 2023-11-15 22:25:49 +04:00
Ryan Samarakoon cd5fd2c343 Fix set erase function (#308) 2023-11-12 17:30:10 +04:00
neargye eb867ec9ba put headers in include/magic_enum directory 2023-11-12 01:11:55 +04:00
Vitaly 5523803cfc Explicitly mark the result of detail::names as constexpr (#305)
It might make no sense, but on MSVC it can generate a compile-time
error, especially if an enumerator's value is out of range.

Example:
error C3615: constexpr function 'magic_enum::detail::names' cannot
result in a constant expression
...
note: failure was caused by call of undefined function or one not
declared 'constexpr'
...
note: see usage of '__builtin_array_init_helper'
2023-11-09 14:09:37 +04:00
Ralph J. Steinhagen 5cf4eb3a53 fixes 'std::ptrdiff_t' to 'std::size_t' casting error and suppresses -Wuseless-cast warning for gcc and clang (#306)
* fixes 'std::ptrdiff_t' to 'std::size_t' casting error

addresses this compiler warning:

```text
[..]/magic_enum_utility.hpp:101:31: warning: conversion to ‘std::size_t’ {aka ‘long unsigned int’} from ‘std::ptrdiff_t’ {aka ‘long int’} may change the sign of the result [-Wsign-conversion]
  101 |       return enum_value<D, S>(index);
      |                               ^~~~~
```

* suppresses `-Wuseless-cast` for static_cast<char_type>('\0')

needed in case 'char_type' is 'char' (common on Linux but rare on Windows?)

```text
[..]/magic_enum.hpp:275:114: warning: useless cast to type ‘using magic_enum::char_type = using std::basic_string_view<char>::value_type = char’ {aka ‘char’} [-Wuseless-cast]
  275 |   constexpr static_str(string_view str, std::integer_sequence<std::uint16_t, I...>) noexcept : chars_{str[I]..., static_cast<char_type>('\0')} {}
      |                                                                                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2023-11-09 14:07:16 +04:00
RaceTheMaSe 49bb72da8e Remove superfluous semicolon (#304) 2023-10-19 01:53:37 +03:00
neargye d67973d118 fix Argument-dependent lookup results in enum_switch 2023-10-04 19:14:27 +04:00
neargye dfcd851dba fix build 2023-10-04 19:13:20 +04:00
neargye ed8bb5d63a check for -D__PRETTY_FUNCTION__=__FUNCTION__ 2023-10-04 19:04:09 +04:00
neargye b291b0ce5a fix fmt::formatter 2023-09-20 18:44:31 +04:00
neargye 45c8b5d92c update doc 2023-08-14 18:41:40 +04:00
neargye 4904822db8 fix CLI/C++ 2023-06-28 20:05:12 +04:00
neargye e1ea11a93d v0.9.3 2023-06-22 17:22:05 +04:00
neargye 4555faae9e clean-up containers 2023-06-22 17:05:17 +04:00
neargye 288cb71861 clean-up containers 2023-06-21 12:57:55 +04:00
neargye 43070070e6 fix enum_type_name in namespace 2023-06-21 12:45:59 +04:00
neargye 8107ceb0fa format containers throw 2023-06-19 12:28:18 +04:00
neargye f01fcf0373 add assert in containers::[] 2023-06-19 12:00:54 +04:00
neargye eb0f051078 add check in enum_flags_name 2023-06-19 01:25:00 +04:00
neargye fd9f70b91d fix _ITERATOR_DEBUG_LEVEL 2023-06-16 06:04:33 +04:00
neargye 911cd2047b fix VS_2017_WORKAROUND for resharper 2023-06-14 03:02:45 +04:00
neargye fd15349e17 fix warn 2023-06-12 17:49:35 +04:00
neargye fe122a8366 move enum_for_each to magic_enum_utility.hpp 2023-06-12 17:46:11 +04:00
neargye 7a881a68ba add enum_next_value and enum_prev_value 2023-06-12 17:45:42 +04:00
neargye cf963cba28 add MAGIC_ENUM_NO_EXCEPTION 2023-06-12 17:44:50 +04:00
neargye 64bc3dba6c add MAGIC_ENUM_ENABLE_HASH_SWITCH 2023-06-12 17:43:57 +04:00
neargye e7749da06b add MAGIC_ENUM_NO_ASSERT 2023-06-12 17:43:19 +04:00
neargye cf659c59c8 add <magic_enum_all.hpp> 2023-06-12 17:40:10 +04:00
neargye 5018ef9677 v0.9.2 2023-06-10 15:30:32 +04:00
Jordan Rupprecht 8a26b3dc42 Re-enable Wenum-constexpr-conversion clang fix (#279) 2023-06-06 13:22:49 +04:00
neargye 27f5b9d925 clean-up 2023-06-05 15:18:56 +04:00
neargye 6e1978eea7 fix warn 2023-06-05 15:16:20 +04:00
neargye 3b4967b21e move all enum_flags_* func to enum_flags.hpp 2023-06-05 14:44:06 +04:00
Daniil Goncharov 9508c563da add enum_flags_test and enum_flags_test_any functions for flags (#277)
Co-authored-by: Jon Petrissans <jon.petrissans@protonmail.com>
2023-06-05 14:10:02 +04:00
neargye 0b2c1cf072 MAGIC_ENUM_VS_2017_WORKAROUND 2023-06-05 14:09:38 +04:00
neargye 75cf5003f4 fix enum-name on vs2017 2023-06-05 13:50:45 +04:00
neargye 2274b77c80 fix enum_subtype deduction 2023-06-04 20:45:10 +04:00
neargye 1c94e914c2 fix #276 2023-06-02 11:50:02 +04:00
neargye 04ecb134ff fix char_type cast 2023-05-31 15:46:21 +04:00
neargye 67abcf483a v0.9.1 2023-05-31 14:58:31 +04:00