1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#include "osl/container/moveStack.h"
#include "osl/record/csa.h"
#include <iostream>
osl::MoveStack::MoveStack()
{
data.reserve(16);
clear();
}
osl::MoveStack::~MoveStack()
{
}
void osl::MoveStack::reserve(size_t capacity)
{
data.reserve(capacity);
}
void osl::MoveStack::clear()
{
data.clear();
data.push_back(Move::INVALID());
data.push_back(Move::INVALID());
}
#ifndef MINIMAL
void osl::MoveStack::dump(std::ostream& os, size_t last_n) const
{
const size_t start = (last_n == 0) ? 0 : size() - last_n;
os << "move stack";
vector_t::const_iterator p=data.begin();
++p; // skip first element, pass
for (size_t i=0; p!=data.end(); ++p, ++i)
{
if (i < start)
continue;
os << " " << record::csa::show(*p);
}
os << "\n";
}
void osl::MoveStack::dump(size_t last_n) const
{
dump(std::cerr, last_n);
}
#endif
// ;;; Local Variables:
// ;;; mode:c++
// ;;; c-basic-offset:2
// ;;; End:
|