Enums
ruby-bindgen generates Rice enum bindings for both scoped and unscoped C++ enums. For details on the generated Ruby enum API (comparison, conversion, bitwise operations), see the Rice Enums documentation.
Scoped Enums (enum class)
enum class Color
{
Red, Green, Blue
};
Generates a Rice enum with properly scoped values.
Unscoped Enums
Unscoped enums in namespaces have values at namespace scope:
namespace cv
{
enum BorderType
{
BORDER_CONSTANT, BORDER_REPLICATE
};
}
// Values are cv::BORDER_CONSTANT, not cv::BorderType::BORDER_CONSTANT
Unscoped enums inside classes have values qualified with the enum name:
class Buffer
{
enum Target
{
ARRAY_BUFFER, ELEMENT_ARRAY_BUFFER
};
};
// Values are Buffer::Target::ARRAY_BUFFER