On Sunday, 15 December 2013 at 12:40:53 UTC, monarch_dodra wrote:
On Sunday, 15 December 2013 at 09:38:28 UTC, deadalnix wrote:
Resulting in people giving name like TestT1, TestT2 as enum
values in C++. As a result, you end up with the same verbosity
as in D, without the possibility of using 'with'.
I've usually seen the "namespace" or "struct "approach, eg:
namespace CheckerBoardColor
// or struct CheckerBoardColor
{
enum Enumeration
{
Red,
Black,
};
};
This allows using "CheckerBoardColor::Red", which (IMO) is nice
and verbose. you can use "using CheckerBoardColor" for the
equivalent of "with" (namespace only).
Unfortunatly, the actual enum "type" is
"CheckerBoardColor::Enumeration", which is strangely verbose.
I'd rather do this:
namespace CheckerBoardColorNamespace
{
enum CheckerBoardColor { Red, Black };
};
using CheckerBoardColorNamespace::CheckerBoardColor;
auto v = CheckerBoardColor::Red;
int main()
{
using namespace CheckerBoardColorNamespace;
auto v = Red;
}
...and you get to have a nice name for the enum type.