diff options
Diffstat (limited to 'ace/Obstack.cpp')
-rw-r--r-- | ace/Obstack.cpp | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/ace/Obstack.cpp b/ace/Obstack.cpp deleted file mode 100644 index 5bd969201bb..00000000000 --- a/ace/Obstack.cpp +++ /dev/null @@ -1,119 +0,0 @@ -// Obstack.cpp -// $Id$ - -#define ACE_BUILD_DLL -#include "ace/Obstack.h" - -ACE_ALLOC_HOOK_DEFINE(ACE_Obstack) - -void -ACE_Obstack::dump (void) const -{ - ACE_TRACE ("ACE_Obstack::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "size_ = %d\n", this->size_)); - ACE_DEBUG ((LM_DEBUG, "head_ = %x\n", this->head_)); - ACE_DEBUG ((LM_DEBUG, "curr_ = %x\n", this->curr_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -ACE_ALLOC_HOOK_DEFINE(ACE_Obchunk) - -void -ACE_Obchunk::dump (void) const -{ - ACE_TRACE ("ACE_Obchunk::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, "end_ = %x\n", this->end_)); - ACE_DEBUG ((LM_DEBUG, "cur_ = %x\n", this->cur_)); - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -class ACE_Obchunk * -ACE_Obstack::new_chunk (void) -{ - ACE_TRACE ("ACE_Obstack::new_chunk"); - class ACE_Obchunk *temp = (class ACE_Obchunk *) - new char[sizeof (class ACE_Obchunk) + this->size_]; - - if (temp == 0) - { - errno = ENOMEM; - return 0; - } - - temp->next_ = 0; - temp->end_ = temp->contents_ + this->size_; - temp->cur_ = temp->contents_; - - return temp; -} - -ACE_Obstack::ACE_Obstack (int sz) - : size_ (sz), - head_ (0) -{ - ACE_TRACE ("ACE_Obstack::ACE_Obstack"); - this->head_ = this->new_chunk (); - this->curr_ = this->head_; -} - -ACE_Obstack::~ACE_Obstack (void) -{ - ACE_TRACE ("ACE_Obstack::~ACE_Obstack"); - class ACE_Obchunk *temp = this->head_; - - while (temp != 0) - { - class ACE_Obchunk *next = temp->next_; - temp->next_ = 0; - delete [] temp; - temp = next; - } -} - -char * -ACE_Obstack::copy (const char *s, - size_t len) -{ - ACE_TRACE ("ACE_Obstack::copy"); - char *result; - - ACE_ASSERT (this->size_ >= len + 1); - - // Check whether we need to grow our chunk... - - if (this->curr_->cur_ + len + 1 >= this->curr_->end_) - { - // Check whether we can just reuse previously allocated memory. - - if (this->curr_->next_ == 0) - { - this->curr_->next_ = this->new_chunk (); - this->curr_ = this->curr_->next_; - } - else - { - this->curr_ = this->curr_->next_; - this->curr_->cur_ = this->curr_->contents_; - } - } - - result = this->curr_->cur_; - ACE_OS::memcpy (result, s, len); - result[len] = '\0'; - this->curr_->cur_ += (len + 1); - return result; -} - -void -ACE_Obstack::release (void) -{ - ACE_TRACE ("ACE_Obstack::release"); - this->curr_ = this->head_; - this->curr_->cur_ = this->curr_->contents_; -} - - |