10template <
typename Context, index_t Start = 0, index_t Step = 1>
14 template <
typename Unique>
20 template <
unsigned long long>
29 template <
typename Unique>
35 template <
unsigned long long>
48 _Pragma(
"GCC diagnostic push");
49 _Pragma(
"GCC diagnostic ignored \"-Wundefined-internal\"");
50 friend constexpr bool slot_allocated(slot<I>);
51 _Pragma(
"GCC diagnostic pop");
57 friend constexpr bool slot_allocated(slot<I>) {
return true; }
66 template <typename Unique, index_t I = 0, bool = slot_allocated(slot<I>())>
74 template <
typename Unique, index_t I = 0>
77 return allocate_slot<I>::value;
82 template <typename Unique, index_t I = Start, bool = slot_allocated(slot<I>())>
90 template <
typename Unique, index_t I = Start>
93 static_assert(I != 0,
"You must invoke next() first");
105 __extension__ ck_tile::static_counter<ck_tile::impl::static_counter_uniq_<__COUNTER__>> {}
106#define MAKE_SC_WITH(start_, step_) \
107 __extension__ ck_tile:: \
108 static_counter<ck_tile::impl::static_counter_uniq_<__COUNTER__>, start_, step_> \
111#define NEXT_SC(c_) __extension__ c_.next<__COUNTER__>()
112#define NEXT_SCI(c_, static_i_) __extension__ c_.next<__COUNTER__ + static_i_>()
Definition tile/core/arch/amd_buffer_addressing.hpp:110
Definition tile/core/algorithm/cluster_descriptor.hpp:13
int32_t index_t
Definition integer.hpp:9
Definition static_counter.hpp:101
Definition static_counter.hpp:12
static constexpr index_t current()
Definition static_counter.hpp:30
static constexpr index_t next()
Definition static_counter.hpp:15