#ifndef TYPEASVALUE_SRC_LIST_GENERATOR_IOTA_H_ #define TYPEASVALUE_SRC_LIST_GENERATOR_IOTA_H_ #include "operation/math.h" namespace tav { namespace detail { template < typename Count, typename Initial, typename Step > struct Iota { typedef Cons< Initial, Eval>, Add, Step >> > type; }; template < typename Initial, typename Step > struct Iota, Initial, Step> { typedef Cons type; }; } template < typename Count, typename Initial, typename Step > using Iota = Eval>; } #endif // TYPEASVALUE_SRC_LIST_GENERATOR_IOTA_H_