better-enums/test/performance/4-declare_enums.cc
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

226 lines
12 KiB
C++

#include <enum.h>
BETTER_ENUM(Channel, int,
Red, Green, Blue, Cyan, Magenta, Yellow, Black, Hue, Saturation,
Value)
BETTER_ENUM(Direction, int,
North, East, South, West, NorthEast, SouthEast, SouthWest,
NorthWest, NorthNorthEast, EastNorthEast, EastSouthEast,
SouthSouthEast, SouthSouthWest, WestSouthWest, WestNorthWest,
NorthNorthWest)
BETTER_ENUM(ASTNode, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(State, int,
Attacking, Defending, Searching, Pursuing, Hungry, Fleeing,
Confused, Healing, Stunned)
BETTER_ENUM(APIMethod, int,
ReadPost, WritePost, PollPost, ReadImage, WriteImage, PollImage,
ReadKey, WriteKey, PollKey, ReadUser, WriteUser, PollUser,
ReadOrganization, WriteOrganization, PollOrganization, ReadGroup,
WriteGroup, PollGroup, ReadProject, WriteProject, PollProject,
ReadComment, WriteComment, PollComment, ReadPermission,
WritePermission, PollPermission, ReadOwner, WriteOwner, PollOwner,
ReadProposal, WriteProposal, PollProposal, ReadHistory,
WriteHistory, PollHistory)
BETTER_ENUM(Lipsum, int,
Lorem, ipsum, dolor, sit, amet, consectetur, adipiscing, elit,
Vivamus, libero, massa, tincidunt, at, ex, nec, porta, malesuada,
arcu, Nullam, lectus, nibh, dictum, eget, convallis, ac, feugiat,
felis, Suspendisse, quis, purus, vel, lacus, cursus, tristique,
Donec, augue, tortor, luctus, a, sed, mattis, in, quam, Cras, vitae,
euismod, Cum, sociis, natoque, penatibus, et, magnis, dis,
parturient)
BETTER_ENUM(ASTNode0, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode1, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode2, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode3, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode4, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode5, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode6, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode7, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode8, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode9, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode10, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode11, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode12, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode13, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode14, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode15, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode16, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode17, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode18, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode19, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode20, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode21, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode22, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode23, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode24, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode25, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode26, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode27, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode28, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
BETTER_ENUM(ASTNode29, int,
IntegerLiteral, StringLiteral, CharacterLiteral, Variable,
UnaryOperation, BinaryOperation, ApplicationExpression, Abstraction,
LetBinding, CaseExpression, Pattern, Signature, Module, Functor,
TypeVariable, BasicType, ArrowType, VariantTypeConstant)
int main()
{
return 0;
}