struct Core::EnumInfo

Overview

Enumerator value with name. More…

#include <coreenumdef.h>

struct EnumInfo
{
    // fields

    CStringPtr name;
    int value;

    // methods

    template <typename StringType>
    static int parseOne(
        const StringType& string,
        const EnumInfo info[],
        int defValue
    );

    template <typename StringType>
    static int parseMultiple(
        const StringType& string,
        const EnumInfo info[],
        char separator = ' '
    );

    template <typename StringType>
    static void printOne(
        StringType& string,
        int value,
        const EnumInfo info[]
    );

    template <typename StringType>
    static void printMultiple(
        StringType& string,
        int value,
        const EnumInfo info[]
    );

    static CStringPtr nameByValue(int value, const EnumInfo info[]);
    static bool containsValue(int value, const EnumInfo info[]);
    static int getCount(const EnumInfo info[]);
    CStringPtr getEnumName() const;
    int getEnumValue() const;
};

Detailed Documentation

Enumerator value with name.

Methods

template <typename StringType>
static int parseOne(
    const StringType& string,
    const EnumInfo info[],
    int defValue
)

Parse single value from string (e.g.

“option1”).

template <typename StringType>
static int parseMultiple(
    const StringType& string,
    const EnumInfo info[],
    char separator = ' '
)

Parse multiple values from string (e.g.

“option1 option2”).

template <typename StringType>
static void printOne(
    StringType& string,
    int value,
    const EnumInfo info[]
)

Print single value to string.

template <typename StringType>
static void printMultiple(
    StringType& string,
    int value,
    const EnumInfo info[]
)

Print multiple values to string.

static CStringPtr nameByValue(int value, const EnumInfo info[])

Get name by value.

static bool containsValue(int value, const EnumInfo info[])

Check if value is contained.

static int getCount(const EnumInfo info[])

Count enumerators (null-terminated).