ALib C++ Library
Library Version: 1912 R0
Documentation generated by doxygen
Classes | Namespaces | Typedefs | Functions
iteratable.hpp File Reference
#include "alib/enums/bitwise.hpp"
#include "alib/enums/underlyingintegral.hpp"
#include <intrin.h>
#include <cstdint>
#include <iterator>
Include dependency graph for iteratable.hpp:

Go to the source code of this file.

Classes

struct  EnumIterator< TEnum, TEnableIf >
 
struct  T_EnumIsIteratable< TEnum, TEnableIf >
 
class  EnumIterator< TEnum, TEnableIf >::TRandomAccessIterator< TPointer, TReference >
 

Namespaces

 aworx
 
 aworx::lib
 
 aworx::lib::enums
 
 aworx::lib::enums::iteratable
 

Macros

ALib Module Enums

The macros in this section are introduced by module ALib Enums and allow to specialize type-traits structs T_EnumRecords, T_EnumIsArithmetical, T_EnumIsBitwise and T_EnumIsIteratable for scoped or non-scoped enum types.

Attention
  • All macros in this section have to be placed in global scope (outside of namespaces and types).
  • For technical reasons, neither the macros nor the concepts behind them are applicable to enum types that are defined as private or protected inner types of structs or classes.
#define ALIB_ENUMS_MAKE_ITERATABLE(TEnum, StopElement)   ALIB_ENUMS_MAKE_ITERATABLE_BEGIN_END( TEnum, TEnum(0), StopElement )
 
#define ALIB_ENUMS_MAKE_ITERATABLE_BEGIN_END(TEnum, StartElement, StopElement)
 

Typedefs

template<typename TEnum , typename TEnableIf = void>
using EnumIterator = lib::enums::EnumIterator< TEnum, TEnableIf >
 Type alias in namespace aworx.
 

Functions

template<typename TEnum >
constexpr TEnum operator+ (TEnum element, int addend) noexcept(true)
 
template<typename TEnum >
constexpr TEnum operator- (TEnum element, int subtrahend) noexcept(true)
 

Detailed Description


This header file is part of module ALib Enums of the ALib C++ Library.

© 2013-2019 A-Worx GmbH, Germany. Published under Boost Software License.

Definition in file iteratable.hpp.