28 _exponents(0), _varCount(0) {
29 istringstream in(str);
31 vector<Exponent> exponents;
35 exponents.push_back(ex.get_ui());
38 if (!exponents.empty())
44 ObjectPool(): objectsStored(0), objects(0) {}
52 return objectsStored == 0;
55 bool canStoreMore()
const {
62 return objects[objectsStored];
69 objects[objectsStored] = object;
76 for (
size_t i = 0; i < objectsStored; ++i)
81 unsigned int objectsStored;
90 pools[size].ensureInit();
91 if (!pools[size].empty())
92 return pools[size].removeObject();
104 if (size <
PoolCount && pools[size].canStoreMore())
105 pools[size].addObject(p);
112 print(out, e, varCount);
113 fputs(out.str().c_str(), file);
117 ASSERT(e != 0 || varCount == 0);
120 for (
size_t var = 0; var < varCount; ++var) {