#pragma once #include 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; } };