<commit_before>// Copyright (c) 2019 <NAME>, <NAME>, <NAME>

// We are making my contributions/submissions to this project solely in our
// personal capacity and are not conveying any rights to any intellectual
// property of any third parties.

#ifndef ROSETTASTONE_CARD_ENUMS_HPP
#define ROSETTASTONE_CARD_ENUMS_HPP

#ifdef _MSC_VER
#define ROSETTASTONE_EXPAND_LARGE_ENUMS
#else  // _MSC_VER
#undef BETTER_ENUMS_MACRO_FILE
#define BETTER_ENUMS_MACRO_FILE "Rosetta/Commons/EnumMacros.hpp"
#endif  // _MSC_VER

#include <better-enums/enum.h>

#include <string>

namespace RosettaStone
{
//! \brief An enumerator for identifying the class of the card.
enum class CardClass
{
#define X(a) a,
#include "CardClass.def"
#undef X
};

const std::string CARD_CLASS_STR[] = {
#define X(a) #a,
#include "CardClass.def"
#undef X
};

//! \brief An enumerator for identifying the set of the card.
enum class CardSet
{
#define X(a) a,
#include "CardSet.def"
#undef X
};

const std::string CARD_SET_STR[] = {
#define X(a) #a,
#include "CardSet.def"
#undef X
};

//! \brief An enumerator for identifying the type of the card.
enum class CardType
{
#define X(a) a,
#include "CardType.def"
#undef X
};

const std::string CARD_TYPE_STR[] = {
#define X(a) #a,
#include "CardType.def"
#undef X
};

//! \brief An enumerator for identifying the choice type of the card.
enum class ChoiceType
{
    INVALID,
    MULLIGAN,
    GENERAL
};

//! \brief An enumerator for identifying the format type of the card.
enum class FormatType
{
    UNKNOWN,
    WILD,
    STANDARD
};

//! \brief An enumerator for identifying the faction of the card.
enum class Faction
{
#define X(a) a,
#include "Faction.def"
#undef X
};

const std::string FACTION_STR[] = {
#define X(a) #a,
#include "Faction.def"
#undef X
};

//! \brief An enumerator for identifying the game tag of the card.
enum class GameTag
{
#define X(a) a,
#include "GameTag.def"
#undef X
};

const std::string GAME_TAG_STR[] = {
#define X(a) #a,
#include "GameTag.def"
#undef X
};

//! \brief An enumerator for identifying the locale of the card.
enum class Locale
{
    UNKNOWN,
    enUS,
    enGB,
    frFR,
    deDE,
    koKR,
    esES,
    esMX,
    ruRU,
    zhTW,
    zhCN,
    itIT,
    ptBR,
    plPL,
    ptPT,
    jaJP,
    thTH
};

//! \brief An enumerator for identifying the mulligan state.
enum class Mulligan
{
    INVALID,
    INPUT,
    DEALING,
    WAITING,
    DONE
};

//! \brief An enumerator for identifying the play requirement of the card.
enum class PlayReq
{
#define X(a) a,
#include "PlayReq.def"
#undef X
};

const std::string PLAY_REQ_STR[] = {
#define X(a) #a,
#include "PlayReq.def"
#undef X
};

//! \brief An enumerator for identifying the play state.
enum class PlayState
{
    INVALID,
    PLAYING,
    WINNING,
    LOSING,
    WON,
    LOST,
    TIED,
    DISCONNECTED,
    CONCEDED
};

//! \brief An enumerator for identifying the race of the card.
enum class Race
{
#define X(a) a,
#include "Race.def"
#undef X
};

const std::string RACE_STR[] = {
#define X(a) #a,
#include "Race.def"
#undef X
};

//! \brief An enumerator for identifying the rarity of the card.
enum class Rarity
{
#define X(a) a,
#include "Rarity.def"
#undef X
};

const std::string RARITY_STR[] = {
#define X(a) #a,
#include "Rarity.def"
#undef X
};

//! \brief An enumerator for indicating the state of the card.
enum class State
{
    INVALID,
    LOADING,
    RUNNING,
    COMPLETE
};

//! \brief An enumerator for indicating the game step.
enum class Step
{
    INVALID,
    BEGIN_FIRST,<commit_msg>refactor: Delete better-enums library code and rearrange enums<commit_after>// Copyright (c) 2019 <NAME>, <NAME>, <NAME>

// We are making my contributions/submissions to this project solely in our
// personal capacity and are not conveying any rights to any intellectual
// property of any third parties.

#ifndef ROSETTASTONE_CARD_ENUMS_HPP
#define ROSETTASTONE_CARD_ENUMS_HPP

#include <string>

namespace RosettaStone
{
//! \brief An enumerator for identifying the class of the card.
enum class CardClass
{
#define X(a) a,
#include "CardClass.def"
#undef X
};

const std::string CARD_CLASS_STR[] = {
#define X(a) #a,
#include "CardClass.def"
#undef X
};

//! \brief An enumerator for identifying the set of the card.
enum class CardSet
{
#define X(a) a,
#include "CardSet.def"
#undef X
};

const std::string CARD_SET_STR[] = {
#define X(a) #a,
#include "CardSet.def"
#undef X
};

//! \brief An enumerator for identifying the type of the card.
enum class CardType
{
#define X(a) a,
#include "CardType.def"
#undef X
};

const std::string CARD_TYPE_STR[] = {
#define X(a) #a,
#include "CardType.def"
#undef X
};

//! \brief An enumerator for identifying the faction of the card.
enum class Faction
{
#define X(a) a,
#include "Faction.def"
#undef X
};

const std::string FACTION_STR[] = {
#define X(a) #a,
#include "Faction.def"
#undef X
};

//! \brief An enumerator for identifying the game tag of the card.
enum class GameTag
{
#define X(a) a,
#include "GameTag.def"
#undef X
};

const std::string GAME_TAG_STR[] = {
#define X(a) #a,
#include "GameTag.def"
#undef X
};

//! \brief An enumerator for identifying the play requirement of the card.
enum class PlayReq
{
#define X(a) a,
#include "PlayReq.def"
#undef X
};

const std::string PLAY_REQ_STR[] = {
#define X(a) #a,
#include "PlayReq.def"
#undef X
};

//! \brief An enumerator for identifying the race of the card.
enum class Race
{
#define X(a) a,
#include "Race.def"
#undef X
};

const std::string RACE_STR[] = {
#define X(a) #a,
#include "Race.def"
#undef X
};

//! \brief An enumerator for identifying the rarity of the card.
enum class Rarity
{
#define X(a) a,
#include "Rarity.def"
#undef X
};

const std::string RARITY_STR[] = {
#define X(a) #a,
#include "Rarity.def"
#undef X
};

//! \brief An enumerator for identifying the locale of the card.
enum class Locale
{
    UNKNOWN,
    enUS,
    enGB,
    frFR,
    deDE,
    koKR,
    esES,
    esMX,
    ruRU,
    zhTW,
    zhCN,
    itIT,
    ptBR,
    plPL,
    ptPT,
    jaJP,
    thTH
};

//! \brief An enumerator for identifying the mulligan state.
enum class Mulligan
{
    INVALID,
    INPUT,
    DEALING,
    WAITING,
    DONE
};

//! \brief An enumerator for identifying the choice type of the card.
enum class ChoiceType
{
    INVALID,
    MULLIGAN,
    GENERAL
};

//! \brief An enumerator for identifying the format type of the card.
enum class FormatType
{
    UNKNOWN,
    WILD,
    STANDARD
};

//! \brief An enumerator for identifying the play state.
enum class PlayState
{
    INVALID,
    PLAYING,
    WINNING,
    LOSING,
    WON,
    LOST,
    TIED,
    DISCONNECTED,
    CONCEDED
};

//! \brief An enumerator for indicating the state of the card.
enum class State
{
    INVALID,
    LOADING,
    RUNNING,
    COMPLETE
};

//! \brief An enumerator for indicating the game step.
enum class Step
{
    INVALID,
    BEGIN_FIRST,
{'fraction_non_alphanumeric': 0.11939648919193385, 'fraction_numerical': 0.0011605977078195271, 'mean_word_length': 3.3688212927756656, 'pattern_counts': {'":': 0, '<': 12, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2538682', 'n_tokens_mistral': 2583, 'n_tokens_neox': 2486, 'n_words': 849}