int main() { Stash intStash; //intStash.initialize(sizeof(int)); for(int i = 0; i < 100; i++) intStash.add(&i); for(int j = 0; j < intStash.count(); j++) cout << "intStash.fetch(" << j << ") = " << *(int*)intStash.fetch(j) << endl; // Holds 80-character strings: Stash stringStash; const int bufsize = 80; //stringStash.initialize(sizeof(char) * bufsize); ifstream in("exercise9.cpp"); //assure(in, "CppLibTest.cpp"); string line; while(getline(in, line)) stringStash.add(line.c_str()); int k = 0; char* cp; while((cp =(char*)stringStash.fetch(k++)) != 0) cout << "stringStash.fetch(" << k << ") = " << cp << endl; //intStash.cleanup(); //stringStash.cleanup(); }
int main() { Stash s; s.initialize(sizeof(double)); for (int i = -5; i < 16; i++) { double d = i+ 0.25; s.add(&d); } cout << s.count() << endl; for (int i = 0; i < s.count(); i++) cout << *static_cast<double*>(s.fetch(i)) << endl; s.cleanup(); }
Stash::Stash(const Stash& stash):GameObject(stash.GetGameObjectName()),m_LockForSerialize() { for (INT itemGroup = 0; itemGroup < ItemGroup_Max; ++itemGroup) { m_ItemList[itemGroup].clear(); const ItemList& anotherItemList = stash.m_ItemList[itemGroup]; std::for_each(anotherItemList.begin(), anotherItemList.end(),[this, itemGroup](Item* oldItem) { if( oldItem != nullptr ) { Item* item = ItemFactory::Instance().CreateItem(oldItem->GetItemType(), oldItem->GetItemID()); m_ItemList[itemGroup].push_back(item); } }); } }
int main() { Stash doubleStash; doubleStash.initialize(sizeof(double)); double d = 0.1; for(int i = 0; i < 100; i++) { doubleStash.add(&d); d += 1; } for(int j = 0; j < doubleStash.count(); j++) cout << "doubleStash.fetch(" << j << ") = " << *(double*)doubleStash.fetch(j) << endl; doubleStash.cleanup(); } ///:~
int main() { Stash intStash; intStash.initialize(sizeof(int)); for (int i = 0; i < 100; i++) intStash.add(&i); for (int j = 0; j < intStash.count(); j++) cout << "intStash.fetch(" << j << ") = " << *(int*)intStash.fetch(j) << endl; // Строки из 80 символов: Stash stringStash; const int bufsize = 200; stringStash.initialize(sizeof(char) * bufsize); ifstream in("Stash.cpp"); assure(in, "Stash.cpp"); string line; while (getline(in, line)) stringStash.add(line.c_str()); int k = 0; char* cp; while ((cp = (char*)stringStash.fetch(k++)) != 0) cout << "stringStash.fetch" << k << ") = " << cp << endl; intStash.cleanup(); stringStash.cleanup(); } ///:~