# pool_func.hpp File Reference

Some methods of Pool are placed here in order to reduce compilation time and binary size. More...

`#include "alloc_func.hpp"`
`#include "mem_func.hpp"`
`#include "pool_type.hpp"`

Go to the source code of this file.

## Defines

#define | DEFINE_POOL_METHOD(type)
#define | INSTANTIATE_POOL_METHODS(name)
| Force instantiation of pool methods so we don't get linker errors.

## Functions

| DEFINE_POOL_METHOD (inline)
| DEFINE_POOL_METHOD (inline void *)
| DEFINE_POOL_METHOD (void *)
| DEFINE_POOL_METHOD (void)

## Detailed Description

Some methods of Pool are placed here in order to reduce compilation time and binary size.

Definition in file pool_func.hpp.

## Define Documentation

#define DEFINE_POOL_METHOD | ( | type |  | ) |

Value:

    template <class Titem, typename Tindex, size_t Tgrowth_step, size_t Tmax_size, bool Tcache, bool Tzero> \
      type Pool<Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero>

Definition at line 19 of file pool_func.hpp.

#define INSTANTIATE_POOL_METHODS | ( | name |  | ) |

Value:

    template void * name ## Pool::GetNew(size_t size); \
      template void * name ## Pool::GetNew(size_t size, size_t index); \
      template void name ## Pool::FreeItem(size_t index); \
      template void name ## Pool::CleanPool();

Force instantiation of pool methods so we don't get linker errors.

Only methods accessed from methods defined in pool.hpp need to be forcefully instantiated.

Definition at line 167 of file pool_func.hpp.