8000 Tags · mtnsat/better-enums · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
< 8000 /div>

Tags: mtnsat/better-enums

Tags

0.11.3

Toggle 0.11.3's commit message
Version 0.11.3

ag-2020.10.08

Toggle ag-2020.10.08's commit message
Tweak note about magic_enum

Resolves aantron#88.

[skip ci]

0.11.2

Toggle 0.11.2's commit message
Version 0.11.2

Additions

- Enable constexpr support on clang-cl (aantron#26, Zsolt Parragi).
- Enable constexpr support on VS 2017 (aantron#47, Zsolt Parragi).
- _to_index, _from_index, and related functions (aantron#59, Piotr Kosek).
- Specialize maps for descriptions of type wchar_t* (aantron#44, @coderChenY).

Bugs fixed

- Move stream I/O operators out of the global namespace (aantron#22, Alex
  Cheparukhin).
- Internal namespaces used by Better Enums cause name clashes (aantron#22, Alex
  Cheparukhin).
- Unused function warnings on comparison operators (aantron#27, Alex
  Cheparukhin).
- Unused variables with names cause warnings on MSVC (aantron#41, Anuradha
  Dissanayake).
- VS 2015 warns when not using enum class (aantron#41, Anuradha Dissanayake).
- Docs: note strongly that warning C4062 has to be enabled on MSVC for
  exhaustiveness checking (aantron#49).
- Identifiers that begin with an underscore followed by a capital letter
  are reserved (aantron#61, Felix Dombek).
- Internal values array initialization not accepted as constexpr by VS
  2017 (aantron#53, @D4koon).

Miscellaneous

- Syntax-highlight the code in the README (aantron#67, Wojciech Bartnik).
- Remove tabs that have crept into enum.h (aantron#72, @Xeverous).

0.11.1

Toggle 0.11.1's commit message
Version 0.11.1.

- Removed double underscores in internal names (by Mikhail
  Ovchinnikov).
- Fixed some warnings (some by Mitsutaka Takeda).
- Various build, testing, and documentation fixes.

0.11.0

Toggle 0.11.0's commit message
Version 0.11.0.

- Interface-breaking change: renamed ENUM to BETTER_ENUM.
- Added ability to change default constructor with a
  BETTER_ENUM_DEFAULT_CONSTRUCTOR(Enum) macro. The default default
  constructor is (and was) private, to prevent its use.
- Implemented C++17 enum reflection proposal N4428.
- Added bidirectional maps between enums and other types (requires
  C++14).
- Eliminated support for non-integral underlying types.
- Eliminated some potential name clashes of internal names with user
  enumerands.
- Added testing on GCC 5.2 and Clang 3.7.

0.10.1

Toggle 0.10.1's commit message
Version 0.10.1.

- Added support for MSVC 2008 (MSVC 9).

Internals:

- Improved testing scripts by switching to CMake.
- Added building by Travis and AppVeyor.

0.10.0

Toggle 0.10.0's commit message
0.10.0

- Interface-breaking change: _size is now a function. _size_constant is
  the constant. This is for conceptual consistency.

- Made ENUM usable in namespaces besides the global namespace.
- Generalized the underlying type to be any literal type, so long as
  the user gives a way to map it to an integral type.
- Basic support for stream operators.
- Improved support for limited freestanding environments, namely
  compilation with exceptions disabled, and Better Enums no longer uses
  the heap, which it previously did during initialization.

Also, did a bunch of research that didn't turn into code.

- Tried, and so far failed, to find a sorting or hashing algorithm fast
  enough to use at compile time.
- Looked more thoroughly into making ENUM usable at class scope, now
  convinced even more that it is probably impossible.
- Various other attempted improvements that have convinced me the
  design is near to the best possible.

0.9.0

Toggle 0.9.0's commit message
Version 0.9.0.

This release is meant to be the first "complete" release of the
library. Major changes include:

- Support for C++98 and Microsoft Visual C++.
- Switch to standard C++ only (for C++11, C++98 usage requires variadic
  macros). No more weak symbols.
- Ability to do everything at compile time, including trimming
  initializers. This makes _to_string constexpr.
- Non-throwing versions of conversion functions.
- The library is now a single header file.

There are some interface-breaking changes:

- to_string and to_integral are now prefixed with underscores. Not
  having them prefixed before was an oversight.
- Built-in range properties have been removed. They can be easily
  computed by the user, if needed, as shown in the documentation.
- _names, _values, and _name are now functions instead of values. This
  is a result of how weak symbols were eliminated.
0