farm-ng-core
enum_flags.h File Reference
#include "farm_ng/core/enum/enum_flags_without_ostream.h"
#include <ostream>
Include dependency graph for enum_flags.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define FARM_ENUMFLAGS_OSTREAM_OVERLOAD(NAME)
 
#define FARM_ENUMFLAGS(EnumName, UINT_TYPE, ...)
 
#define FARM_ENUMFLAGS_DEF(EnumName, UINT_TYPE, ...)
 

Macro Definition Documentation

◆ FARM_ENUMFLAGS

#define FARM_ENUMFLAGS (   EnumName,
  UINT_TYPE,
  ... 
)
Value:
FARM_ENUMFLAGS_WITHOUT_OSTREAM(EnumName, UINT_TYPE, __VA_ARGS__); \
FARM_ENUMFLAGS_OSTREAM_OVERLOAD(EnumName)

◆ FARM_ENUMFLAGS_DEF

#define FARM_ENUMFLAGS_DEF (   EnumName,
  UINT_TYPE,
  ... 
)
Value:
FARM_ENUMFLAGS_WITHOUT_OSTREAM_DEF(EnumName, UINT_TYPE, __VA_ARGS__); \
FARM_ENUMFLAGS_OSTREAM_OVERLOAD(EnumName)

◆ FARM_ENUMFLAGS_OSTREAM_OVERLOAD

#define FARM_ENUMFLAGS_OSTREAM_OVERLOAD (   NAME)
Value:
namespace enum_wrapper_ { \
inline auto operator<<(std::ostream &os, NAME##Impl value) \
-> std::ostream & { \
os << toPretty(value); \
return os; \
} \
}
farm_ng::operator<<
auto operator<<(std::ostream &os, Error const &error) -> std::ostream &
Definition: expected.cpp:19
FARM_ENUMFLAGS_WITHOUT_OSTREAM_DEF
FARM_ENUMFLAGS_WITHOUT_OSTREAM_DEF(Bike, uint8_t,(frontWheel, backWheel))
FARM_ENUMFLAGS_WITHOUT_OSTREAM
#define FARM_ENUMFLAGS_WITHOUT_OSTREAM(NAME, UINT_TYPE,...)
Definition: enum_flags_without_ostream.h:150