moveStack.cc
Go to the documentation of this file.
00001 #include "osl/container/moveStack.h"
00002 #include "osl/record/csa.h"
00003 #include <iostream>
00004 
00005 osl::MoveStack::MoveStack()
00006 {
00007   data.reserve(16);
00008   clear();
00009 }
00010 
00011 osl::MoveStack::~MoveStack()
00012 {
00013 }
00014 
00015 void osl::MoveStack::reserve(size_t capacity)
00016 {
00017   data.reserve(capacity);
00018 }
00019 
00020 void osl::MoveStack::clear()
00021 {
00022   data.clear(); 
00023   data.push_back(Move::INVALID());
00024   data.push_back(Move::INVALID());
00025 }
00026 
00027 #ifndef MINIMAL
00028 void osl::MoveStack::dump(std::ostream& os, size_t last_n) const
00029 {
00030   const size_t start = (last_n == 0) ? 0 : size() - last_n;
00031   os << "move stack";
00032   vector_t::const_iterator p=data.begin();
00033   ++p;                          // skip first element, pass
00034   for (size_t i=0; p!=data.end(); ++p, ++i)
00035   {
00036     if (i < start)
00037       continue;
00038     os << " " << record::csa::show(*p);
00039   }
00040   os << "\n";
00041 }
00042 
00043 void osl::MoveStack::dump(size_t last_n) const
00044 {
00045   dump(std::cerr, last_n);
00046 }
00047 #endif
00048 // ;;; Local Variables:
00049 // ;;; mode:c++
00050 // ;;; c-basic-offset:2
00051 // ;;; End:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines