20 lines
342 B
C++
20 lines
342 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
class ProvidesSeqCountIF {
|
|
public:
|
|
virtual ~ProvidesSeqCountIF() = default;
|
|
|
|
[[nodiscard]] virtual unsigned int bitWidth() const = 0;
|
|
|
|
virtual uint64_t get() = 0;
|
|
virtual void increment() = 0;
|
|
|
|
virtual uint64_t getAndIncrement() {
|
|
uint64_t val = get();
|
|
increment();
|
|
return val;
|
|
}
|
|
};
|