31 void next() { mBase->next(); }
39 [[nodiscard]]
virtual bool done() const noexcept = 0;
40 virtual
void next() = 0;
48 [[nodiscard]]
virtual T generate()
const override {
return mGenerator.generate(); }
49 [[nodiscard]]
virtual bool done() const noexcept
override {
return mGenerator.done(); }
50 virtual void next()
override { mGenerator.next(); }
A generator represents a coroutine type that produces a sequence of values of type T,...
Definition Generator.hpp:50
Definition AnyGenerator.hpp:34
virtual T generate() const =0
virtual bool done() const noexcept=0
virtual ~Base()
Definition AnyGenerator.hpp:36
virtual UPtr< Base > clone() const =0
Definition AnyGenerator.hpp:43
virtual T generate() const override
Definition AnyGenerator.hpp:48
virtual bool done() const noexcept override
Definition AnyGenerator.hpp:49
virtual UPtr< Base > clone() const override
Definition AnyGenerator.hpp:47
Derived(Generator generator)
Definition AnyGenerator.hpp:45
virtual void next() override
Definition AnyGenerator.hpp:50
Generator mGenerator
Definition AnyGenerator.hpp:53
A type erasing container that can store any generator that generates type T.
Definition AnyGenerator.hpp:16
AnyGenerator(const AnyGenerator &that)
Definition AnyGenerator.hpp:20
UPtr< Base > mBase
Definition AnyGenerator.hpp:56
T generate() const
Definition AnyGenerator.hpp:29
AnyGenerator & operator=(const AnyGenerator &that)
Definition AnyGenerator.hpp:21
AnyGenerator & operator=(AnyGenerator &&)=default
void next()
Definition AnyGenerator.hpp:31
AnyGenerator(Generator generator)
Definition AnyGenerator.hpp:18
bool done() const noexcept
Definition AnyGenerator.hpp:30
AnyGenerator(AnyGenerator &&)=default
Definition AnyGenerator.hpp:12
std::unique_ptr< T, Deleter > UPtr
UPtr is a smart pointer that owns and manages another object through a pointer and disposes of that o...
Definition SmartPtr.hpp:28
auto move(Vector3 position)
Moves a entity to the given position.
Definition Helpers.hpp:22
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25