-#ifndef MSP_GAME_STORAGE_H_
-#define MSP_GAME_STORAGE_H_
+#ifndef MSP_GAME_POOL_H_
+#define MSP_GAME_POOL_H_
#include <cstdint>
#include <memory>
#include <vector>
#include <msp/core/noncopyable.h>
+#include "mspgame_api.h"
namespace Msp::Game {
template<typename T>
class Pool;
-class PoolPool: public NonCopyable
+class MSPGAME_API PoolPool: public NonCopyable
{
private:
std::vector<std::unique_ptr<PoolBase>> pools;
};
-class PoolBase: public NonCopyable
+class MSPGAME_API PoolBase: public NonCopyable
{
private:
using DeleteFunc = void(void *);
void add_block();
public:
+ std::uint32_t get_capacity() const { return capacity; }
void destroy(void *);
};