#pragma once

#include "interfaces/randomization.hpp"

#include <yacppdic/auto_wirable.hpp>

#include <random>

class SeedGenerator : public ISeedGenerator,
					  public yacppdic::AutoWirable<ISeedGenerator, SeedGenerator>
{
public:
	SeedGenerator() noexcept = default;

	[[nodiscard]] auto random_seed() noexcept -> uint32_t override;

private:
	std::random_device _random_device;
};