29 #ifndef __SYSTEMC_EXT_DT_SC_TEMPORARY_HH__ 30 #define __SYSTEMC_EXT_DT_SC_TEMPORARY_HH__ 84 bytes_n = (bytes_n + 7) & ((std::size_t)(-8));
87 if (m_next_p >= m_end_p) {
89 m_next_p = m_bgn_p + bytes_n;
98 m_bgn_p =
new char[heap_size];
99 m_end_p = &m_bgn_p[heap_size];
106 return (std::size_t)(m_end_p -
m_bgn_p);
112 m_bgn_p(0), m_end_p(0), m_next_p(0)
166 inline sc_vpool(
int log2, T *pool_p=0);
170 inline std::size_t size();
175 m_pool_p(pool_p ? pool_p : new T[static_cast<
std::size_t>(1) << log2]),
176 m_wrap(~(static_cast<
std::size_t>(-1) << log2))
192 result_p = &m_pool_p[m_pool_i];
193 m_pool_i = (m_pool_i + 1) & m_wrap;
227 #endif // __SYSTEMC_EXT_DT_SC_TEMPORARY_HH__
sc_vpool(int log2, T *pool_p=0)
Overload hash function for BasicBlockRange type.
char * allocate(std::size_t bytes_n)
sc_byte_heap(std::size_t heap_size)
void initialize(std::size_t heap_size=0x100000)