00001 #ifndef SHPOOL_HPP
00002 #define SHPOOL_HPP
00003
00004
00005
00006 #ifdef SH_USE_MEMORY_POOL
00007
00008 #include <cstddef>
00009
00010 namespace SH {
00011
00012 class ShPool {
00013 public:
00014 ShPool(std::size_t element_size, std::size_t block_size);
00015
00016 void* alloc();
00017 void free(void*);
00018
00019 private:
00020 std::size_t m_element_size;
00021 std::size_t m_block_size;
00022
00023 void* m_next;
00024 };
00025
00026 }
00027
00028 #endif // SH_USE_MEMORY_POOL
00029
00030 #endif