LocalGuidance
A library that generates velocity references to follow a path.
ConsecutiveEnum.hpp File Reference
#include <std_utils/containers/CompileTimeMap.hpp>
#include <iterator>
Include dependency graph for ConsecutiveEnum.hpp:
This graph shows which files directly or indirectly include this file:

Classes

class  std_utils::enum_iterator< EnumType_, last_ >
 

Namespaces

 std_utils
 

Macros

#define CONSECUTIVE_ENUM(Name, FirstElement, ...)   enum class Name : unsigned int { FirstElement = 0, ## __VA_ARGS__, SIZE };
 Macro for simplified creation of enums CONSECUTIVE_ENUM(BranchEnum, LF, RF, LH, RH) expands to: More...
 
#define CONSECUTIVE_ENUM_FROM_LIST(Name, List)   CONSECUTIVE_ENUM(Name, List)
 
#define CONSECUTIVE_ENUM_EMPTY(Name)   enum class Name : unsigned int { SIZE = 0 };
 

Functions

template<typename ArrayType , typename EnumeType >
static bool std_utils::containsEnum (const ArrayType &dimVector, EnumeType dim)
 True if dim is a subset of dimVector. More...
 
template<typename ArrayType1 , typename ArrayType2 >
static bool std_utils::containsEnums (const ArrayType1 &dimVector, const ArrayType2 &dims)
 True if dims is a subset of dimVector. More...
 
template<typename ArrayType1 , typename ArrayType2 >
static bool std_utils::consistsOfEnums (const ArrayType1 &dimVector, const ArrayType2 &dims)
 True if dimVector is equal to dims. More...
 

Detailed Description

Author
Gabriel Hottiger
Date
Nov, 2017

Macro Definition Documentation

◆ CONSECUTIVE_ENUM

#define CONSECUTIVE_ENUM (   Name,
  FirstElement,
  ... 
)    enum class Name : unsigned int { FirstElement = 0, ## __VA_ARGS__, SIZE };

Macro for simplified creation of enums CONSECUTIVE_ENUM(BranchEnum, LF, RF, LH, RH) expands to:

enum class BranchEnum : unsigned int { LF = 0, RF, LH, RH, SIZE };

THIS CREATES THE LAST ELEMENT "SIZE" FOR YOU, NEVER PROVIDE ONE YOURSELF!

◆ CONSECUTIVE_ENUM_EMPTY

#define CONSECUTIVE_ENUM_EMPTY (   Name)    enum class Name : unsigned int { SIZE = 0 };

◆ CONSECUTIVE_ENUM_FROM_LIST

#define CONSECUTIVE_ENUM_FROM_LIST (   Name,
  List 
)    CONSECUTIVE_ENUM(Name, List)