// file: $isip/class/search/ContextPool/cpol_00.cc
// version: $Id: cpol_00.cc 9000 2003-01-23 20:00:34Z alphonso $
//

// isip include files
//
#include "ContextPool.h"

// method: default constructor
//
// arguments: none
//
// return: none
//
// this is the default constructor for the ContextPool class
//
ContextPool::ContextPool() {

  if (debug_level_d >= Integral::ALL) {     
    fprintf(stdout, "Constructor of context_pool: %p\n", this);
    fflush(stdout);
  }

  // set the allocation mode
  //
  pool_d.setAllocationMode(DstrBase::USER);

  // set the context pool capacity
  //
  pool_d.setCapacity(DEF_CAPACITY);
}

// method: copy constructor
//
// arguments:
//  const ContextPool& copy_node: (input) node to copy
//
// return: none
//
// this is the copy constructor for the ContextPool class
//
ContextPool::ContextPool(const ContextPool& copy_node_a) {

  if (debug_level_d >= Integral::ALL) {     
    fprintf(stdout, "Constructor of context_pool: %p\n", this);
    fflush(stdout);
  }

  // assign the node
  //
  assign(copy_node_a);
}

// constants: required constants such as class name
//
const String ContextPool::CLASS_NAME(L"ContextPool");

// constants: i/o related constants
//
const String ContextPool::DEF_PARAM(L"ContextPool");

// static instantiations: memory manager and debug level
//
MemoryManager ContextPool::mgr_d(sizeof(ContextPool), name());
Integral::DEBUG ContextPool::debug_level_d = Integral::NONE;
