Go to the documentation of this file.
30 #define FARM_ENUMFLAGS_OSTREAM_OVERLOAD(NAME) \
31 namespace enum_wrapper_ { \
32 inline auto operator<<(std::ostream &os, NAME##Impl value) \
34 os << toPretty(value); \
37 } // namespace enum_wrapper_
41 #define FARM_ENUMFLAGS(EnumName, UINT_TYPE, ...) \
42 FARM_ENUMFLAGS_WITHOUT_OSTREAM(EnumName, UINT_TYPE, __VA_ARGS__); \
43 FARM_ENUMFLAGS_OSTREAM_OVERLOAD(EnumName)
46 #define FARM_ENUMFLAGS_DEF(EnumName, UINT_TYPE, ...) \
47 FARM_ENUMFLAGS_WITHOUT_OSTREAM_DEF(EnumName, UINT_TYPE, __VA_ARGS__); \
48 FARM_ENUMFLAGS_OSTREAM_OVERLOAD(EnumName)