cpp-enum-class-string-idl

cpp enum class string idl.


License
MIT
Install
pip install cpp-enum-class-string-idl==0.0.4

Documentation

cpp-enum-class-string-idl

python3 -m cpp_enum_class_string_idl MyEnums.yaml

MyEnums.yaml

interfaces:
  - MyEnum.yaml
  - MyOtherEnum.yaml

MyEnum.yaml

name: MyEnum
type: int
values:
  - Value0
  - Value1

MyEnum.h

#pragma once

/*
 * generated code from cpp-enum-class-string-idl
 */

enum class MyEnum : int {
    Value0,
    Value1,
    Count
};

const char* enum_to_string(const MyEnum value);

MyEnum.cpp

#include "MyEnum.h"

/*
 * generated code from cpp-enum-class-string-idl
 */

const char* _MyEnum[] = {
    "Value0",
    "Value1"
};

const char* enum_to_string(const MyEnum value) {
    if (MyEnum::Count == value) {
        return "";
    }

    return _MyEnum[static_cast<int>(value)];
}