// -*- C++ -*- // // $Id: Malloc_T.inl 92069 2010-09-28 11:38:59Z johnnyw $ #include "ace/OS_NS_string.h" ACE_BEGIN_VERSIONED_NAMESPACE_DECL template ACE_INLINE T * ACE_Cached_Mem_Pool_Node::addr (void) { // This should be done using a single reinterpret_cast, but Sun/CC // (4.2) gets awfully confused when T is a char[20] (and maybe other // types). return static_cast (static_cast (this)); } template ACE_INLINE ACE_Cached_Mem_Pool_Node * ACE_Cached_Mem_Pool_Node::get_next (void) { return this->next_; } template ACE_INLINE void ACE_Cached_Mem_Pool_Node::set_next (ACE_Cached_Mem_Pool_Node *ptr) { this->next_ = ptr; } template ACE_INLINE size_t ACE_Cached_Allocator::pool_depth (void) { return this->free_list_.size (); } template ACE_INLINE size_t ACE_Dynamic_Cached_Allocator::pool_depth (void) { return this->free_list_.size (); } template ACE_INLINE int ACE_Malloc_T::ref_counter (void) { ACE_GUARD_RETURN (ACE_LOCK, ace_mon, *this->lock_, -1); if (this->cb_ptr_ != 0) return this->cb_ptr_->ref_counter_; return -1; } template ACE_INLINE int ACE_Malloc_T::bad (void) { return this->bad_flag_; } template ACE_INLINE int ACE_Malloc_T::release (int close) { ACE_GUARD_RETURN (ACE_LOCK, ace_mon, *this->lock_, -1); if (this->cb_ptr_ != 0) { int const retv = --this->cb_ptr_->ref_counter_; if (close) this->memory_pool_.release (0); if (retv == 0) this->remove (); return retv; } return -1; } template ACE_INLINE ACE_MEM_POOL & ACE_Malloc_T::memory_pool (void) { ACE_TRACE ("ACE_Malloc_T::memory_pool"); return this->memory_pool_; } template ACE_INLINE int ACE_Malloc_T::sync (ssize_t len, int flags) { ACE_TRACE ("ACE_Malloc_T::sync"); return this->memory_pool_.sync (len, flags); } template ACE_INLINE int ACE_Malloc_T::sync (void *addr, size_t len, int flags) { ACE_TRACE ("ACE_Malloc_T::sync"); return this->memory_pool_.sync (addr, len, flags); } template ACE_INLINE int ACE_Malloc_T::protect (ssize_t len, int flags) { ACE_TRACE ("ACE_Malloc_T::protect"); return this->memory_pool_.protect (len, flags); } template ACE_INLINE int ACE_Malloc_T::protect (void *addr, size_t len, int flags) { ACE_TRACE ("ACE_Malloc_T::protect"); return this->memory_pool_.protect (addr, len, flags); } template ACE_INLINE ACE_LOCK & ACE_Malloc_T::mutex (void) { return *this->lock_; } template ACE_INLINE void * ACE_Malloc_T::base_addr (void) { return this->cb_ptr_; } template ACE_INLINE ACE_Malloc::ACE_Malloc (const ACE_TCHAR *pool_name) : ACE_Malloc_T (pool_name) { } template ACE_INLINE ACE_Malloc::ACE_Malloc (const ACE_TCHAR *pool_name, const ACE_TCHAR *lock_name, const ACE_MEM_POOL_OPTIONS *options) : ACE_Malloc_T (pool_name, lock_name, options) { } template ACE_INLINE ACE_Malloc_LIFO_Iterator::ACE_Malloc_LIFO_Iterator (ACE_Malloc &malloc, const char *name) : ACE_Malloc_LIFO_Iterator_T (malloc, name) { } template ACE_INLINE ACE_Malloc_FIFO_Iterator::ACE_Malloc_FIFO_Iterator (ACE_Malloc &malloc, const char *name) : ACE_Malloc_FIFO_Iterator_T (malloc, name) { } ACE_END_VERSIONED_NAMESPACE_DECL