##

EnumIface.hh File Reference
`#include <string>`
`#include <vector>`
`#include <algorithm>`
`#include "gazebo/util/system.hh"`
`#include "gazebo/common/Assert.hh"`

Go to the source code of this file.

## Macros

#define | GZ_ENUM(enumType, begin, end, ...)
#define | GZ_ENUM_DECLARE(visibility, enumType)
#define | GZ_ENUM_VISIBILITY(visibility, enumType, begin, end, ...)

## Macro Definition Documentation

## GZ_ENUM

#define GZ_ENUM | ( |  | enumType,
|  |  | begin,
|  |  | end,
|  |  | ...
| ) |  |

Value:
template<> enumType \
common::EnumIface<enumType>::range[] = {begin, end}; \
template<> \
std::vector<std::string> common::EnumIface<enumType>::names = {__VA_ARGS__};

## GZ_ENUM_DECLARE

#define GZ_ENUM_DECLARE | ( |  | visibility,
|  |  | enumType
| ) |  |

## GZ_ENUM_VISIBILITY

#define GZ_ENUM_VISIBILITY | ( |  | visibility,
|  |  | enumType,
|  |  | begin,
|  |  | end,
|  |  | ...
| ) |  |

Value:
template<> visibility enumType \
common::EnumIface<enumType>::range[] = {begin, end}; \
template<> visibility std::vector<std::string> \
common::EnumIface<enumType>::names = {__VA_ARGS__};