42 Commits

Author SHA1 Message Date
Anton Bachin
c35576bed0 Docs: update version number
[skip ci]
2020-10-19 08:45:29 +03:00
Anton Bachin
2422dd6f26 Docs: remove Wandbox link
[skip ci]
2020-10-19 08:45:17 +03:00
Anton Bachin
fd646ae537 Document BETTER_ENUMS_CLASS_ATTRIBUTE
Follow-on to #80.

[skip ci]
2020-10-19 08:33:38 +03:00
Anton Bachin
abb693d4ef Document BETTER_ENUMS_DECLARE_STD_HASH
Follow-on to #77.

[skip ci]
2020-10-19 08:26:14 +03:00
Anton Bachin
2f1fcaae7a Docs: fix rendering of <Enum>
[skip ci]
2020-10-19 08:12:51 +03:00
Anton Bachin
c730fc8ae8 Document _to_index, _from_index, etc.
Follow-on to #59.

[skip ci]
2020-10-19 08:07:45 +03:00
Anton Bachin
1ea7f04bb9 Move LICENSE so that GitHub recognizes it
[skip ci]
2019-07-25 20:16:35 +03:00
Anton Bachin
e1756cdb07 Docs: remove unnecessary scroll bars
[skip ci]
2019-07-25 20:14:08 +03:00
Anton Bachin
8b4d8a9499 Bump version to 0.11.2
[skip ci]
2019-04-02 10:01:36 -05:00
Anton Bachin
f626bcde1a Docs: note maps are also specialized for wchar_t
Follow-on to #44.

[skip ci]
2019-04-02 09:29:02 -05:00
Anton Bachin
e5549fb18c Docs: add notes about enabling C4062 on msvc
Resolves #49.

[skip ci]
2018-08-07 16:00:36 -05:00
Anton Bachin
21417b76b9 Doc generator: remove stale tweet image references
[skip ci]
2018-08-07 15:56:33 -05:00
Anton Bachin
18cbeb0808 Simplified README. 2016-03-15 18:29:12 -05:00
Anton Bachin
2d6b337419 Bumped version to 0.11.1. 2016-03-14 10:51:05 -05:00
Anton Bachin
a500851e28 Documentation nits. 2016-03-03 10:12:48 -06:00
Anton Bachin
472a33fb64 Incorporated errata.
Fixes #13.
Fixes #14.

[ci skip]
2015-12-10 18:02:33 -06:00
Anton Bachin
d99bae7284 Updated documentation. 2015-10-06 15:19:39 -05:00
Anton Bachin
9a2389cd15 Eliminated non-integral underlying types.
This was an experimental feature. Removing it to simplify maintenance.
2015-10-04 18:34:57 -05:00
Anton Bachin
e1e237a4ea Renamed top-level macro ENUM to BETTER_ENUM.
To reduce name clashes.

Fixes #11.
2015-10-04 11:03:08 -05:00
Anton Bachin
977f8ef145 Replaced testing on G++ 5.1 with G++ 5.2.
GCC 5.2 is a "bugfix" release over GCC 5.1 - not sure why the GCC team
updated the minor version number. Package managers seem to have dropped
GCC 5.1 and replaced it with 5.2, and I'm guessing usage of 5.1 is
discouraged. The testing code has been updated accordingly.

Travis is still distributing GCC 5.1 as of the time of this writing.
2015-08-23 12:41:42 -05:00
Anton Bachin
eac6afacdc Bidirectional maps between enums and any types.
Also added a C++14 configuration to testing, but using it only for
bidrectional map testing at the moment.
2015-07-11 19:32:28 -05:00
Anton Bachin
60a4f4dfda Updated documentation. 2015-07-11 15:27:43 -05:00
Anton Bachin
f404ea709b Made N4428 implementation more exact.
See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4428.pdf
2015-07-11 15:25:48 -05:00
Anton Bachin
f1a0b5d0e4 Simple implementation of N4428 enum reflection. 2015-07-09 18:29:44 -05:00
Anton Bachin
b182e16ec3 Local testing on VC2010 and VC2012.
Also improved the documentation Makefile not to re-generate the samples
unless the source Markdown files are newer. This should make samples
development easier.
2015-07-09 18:28:11 -05:00
Anton Bachin
9273051e07 Updated documentation and appearance. 2015-07-09 00:38:45 -05:00
Anton Bachin
7cfd738c1a Included VC2008 in AppVeyor and local testing.
Also reordered compilers so that the very first tested are the ones
that support the most configurations, then immediately followed by
those which are the most likely to fail. Typically, this would be the
oldest ones, or the compiler versions that were the first to support
some major features.
2015-07-08 09:25:48 -05:00
Anton Bachin
3c3733c700 Support for testing in AppVeyor.
Tests are run for VC2010, VC2012, VC2013, VC2015.
2015-07-01 23:58:23 -05:00
Anton Bachin
ba9139e075 Switched to CMake for building tests.
To run tests with the system compiler, execute

    make

To run tests with the system compiler in all configurations,

    make default-all

To re-generate the examples from the documentation Markdown, and then
test all configurations,

    make default-thorough

Other Makefile targets are for exhaustive testing with multiple
locally-installed compilers, or for use on CI servers, and are not for
general use.

Python and CxxTest are still required. On Windows, it is helpful to
have a Cygwin environment with a non-Cygwin CMake, and MSBuild.exe
should be in PATH.

Better Enums is now tested in fewer configurations. C++11 features are
no longer tested on clang 3.3, gcc 4.3-4.6, because CMake claims
(apparently falsely, in some cases) that those compilers don't support
constexpr and enum class.
2015-07-01 15:18:48 -05:00
Anton Bachin
faf3676fec Made it easier to generate offline documentation.
Documentation can be generated by going to doc/ and running "make".
This requires Python. Before this change, the user had to install the
mistune library, which is used by the generator. The mistune library is
now included in the Better Enums distribution.

The generated docs are available at doc/html/index.html. Note that some
links won't be local (the GitHub repo, the download link, outgoing
links to MSDN, tutorial source in the GitHub repo, and so on). All the
pages belonging to the actual docs will be local, however.

The online version of the docs can be generated by running "make web".
The only difference between the online and offline versions is that the
former includes Google Analytics tracking code, and may include social
communication buttons, comment section, or other useless things in the
future.

Also included errata since the last release.

Resolves #2.
2015-06-27 13:56:27 -05:00
Anton Bachin
f5f669277a Updated documentation. 2015-06-20 13:11:56 -05:00
Anton Bachin
9810dd07ce Changed _size to a function.
An alternative constant _size_constant is provided for use in C++98,
for example for declaring arrays.

Also renamed underlying_traits to integral_mapping.
2015-06-19 17:05:33 -05:00
Anton Bachin
97197088fe Updated contact information and other errata. 2015-06-06 13:54:40 -05:00
Anton Bachin
41508fb114 Eliminated underscored internal macro names.
Also made a few documentation changes.
2015-06-05 19:20:18 -05:00
Anton Bachin
b24d155b7b Updated and improved documentation. 2015-06-05 13:01:28 -05:00
Anton Bachin
3a316e6f79 Made the test script use only the system compiler by default and extended some
support to VC++.

The unit test is currently not being run on VC++ due to a problem with CxxTest,
Cygwin, and paths. However, the examples are being compiled and having their
output checked, and the multiple translation unit test is being run.

Running "(cd test ; ./test.py)" should now run tests only using the default
compiler, on a Unix-like system. test.py --all runs tests on the full array of
compilers that I have installed and symlinked on my development machines.
2015-05-27 18:40:39 -05:00
Anton Bachin
ccc7858f14 Ported to Microsoft Visual Studio.
Worked around a bug with vararg macro expansion in VC++ and tested with Visual
Studio 2013. This commit does not include exhaustive tests for that compiler as
for clang and gcc. They are coming in a follow-on commit.

https://connect.microsoft.com/VisualStudio/feedback/details/521844/variadic-macro-treating-va-args-as-a-single-parameter-for-other-macros
2015-05-27 13:20:14 -05:00
Anton Bachin
2acb5743fa Complete documentation and testing overhaul.
The documentation is now generated from markdown. Samples are generated from the
tutorial pages. Testing is done by a Python script which runs the tests for a
large number of compilers.

This version is not very developer-friendly - the Python scripts need ways of
limiting what compilers they try to run. If you don't have 15 compilers
installed, you won't be able to run the tests in this commit. Fix coming soon.
2015-05-27 09:58:34 -05:00
Anton Bachin
10c9977a9c Minimally updated documentation. 2015-05-17 22:49:24 -05:00
Anton Bachin
e28177b11a Updated documentation with new front page. 2015-05-15 10:15:31 -05:00
Anton Bachin
e7a093709f Added contact information to README. 2015-05-14 07:45:09 -05:00
Anton Bachin
dd606fd450 Initial release. 2015-05-11 17:38:41 -04:00