27 #ifndef _UCOMMON_COUNTER_H_
28 #define _UCOMMON_COUNTER_H_
30 #ifndef _UCOMMON_CONFIG_H_
46 unsigned value, cycle;
86 inline operator unsigned() {
94 void operator=(
unsigned value);
111 SeqCounter(
void *start,
size_t size,
unsigned count);
115 void *
get(
unsigned idx);
143 inline bool operator*() {
147 inline void operator=(
bool v) {
151 inline operator bool() {
166 inline T *
get(
unsigned idx) {
167 return static_cast<T *
>(SeqCounter::get(idx));
183 inline T*
get(void) {
184 return static_cast<T *
>(SeqCounter::get());
192 return reference_cast<T&>(SeqCounter::get());
199 inline operator T&() {
200 return reference_cast<T&>(SeqCounter::get());
209 return reference_cast<T&>(
get(offset));