#include <iostream>
#include <sstream>
#include <list>
#include <vector>
//using namespace std;
#include <string> // modified this
template<typename T, typename R>
class tContainer_t
{
R Container;
public:
tContainer_t();
~tContainer_t();
bool IsEmpty();
T GetFirst();
T GetLast();
int Size();
void Insert(T* element);
std::string Print();
};
template<typename T, typename R>
std::string tContainer_t<T, R>::Print()
{
std::ostringstream s;
s << "[";
typename R::const_iterator it;
for(it = Container.begin(); it != Container.end(); it++) // modified this
{
s << (**it);
}
return s.str();
}
template<typename T, typename R>
void tContainer_t<T, R>::Insert( T* element )
{
Container.push_back(element);
}
template<typename T, typename R>
int tContainer_t<T, R>::Size()
{
return Container.size(); // modified this
}
template<typename T, typename R>
T tContainer_t<T, R>::GetLast()
{
//R<T*>::const_iterator it = Container.end();
return Container.end();
}
template<typename T, typename R>
T tContainer_t<T, R>::GetFirst()
{
}
template<typename T, typename R>
bool tContainer_t<T, R>::IsEmpty()
{
Container.empty(); // modified this
}
//CTOR
template<typename T, typename R>
tContainer_t<T, R>::tContainer_t() : Container()
{
}
//DTOR
template<typename T, typename R>
tContainer_t<T, R>::~tContainer_t()
{
}
int main()
{
tContainer_t<int, std::list<int*> > l;
int i1 = 1;
int i2 = 2;
l.Insert(&i1);
l.Insert(&i2);
std::cout << l.Print(); // modified this
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDx2ZWN0b3I+Ci8vdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2luY2x1ZGUgPHN0cmluZz4gLy8gbW9kaWZpZWQgdGhpcwoKdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUj4KY2xhc3MgdENvbnRhaW5lcl90CnsKCVIgQ29udGFpbmVyOwpwdWJsaWM6Cgl0Q29udGFpbmVyX3QoKTsKCX50Q29udGFpbmVyX3QoKTsKCglib29sIElzRW1wdHkoKTsKCVQgR2V0Rmlyc3QoKTsKCVQgR2V0TGFzdCgpOwoJaW50IFNpemUoKTsKCXZvaWQgSW5zZXJ0KFQqIGVsZW1lbnQpOwoJc3RkOjpzdHJpbmcgUHJpbnQoKTsKCn07Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBSPgpzdGQ6OnN0cmluZyB0Q29udGFpbmVyX3Q8VCwgUj46OlByaW50KCkKewoJc3RkOjpvc3RyaW5nc3RyZWFtIHM7CglzIDw8ICJbIjsKCXR5cGVuYW1lIFI6OmNvbnN0X2l0ZXJhdG9yIGl0OwoJZm9yKGl0ID0gQ29udGFpbmVyLmJlZ2luKCk7IGl0ICE9IENvbnRhaW5lci5lbmQoKTsgaXQrKykgLy8gbW9kaWZpZWQgdGhpcwoJewoJCXMgPDwgKCoqaXQpOwoJfQoJcmV0dXJuIHMuc3RyKCk7Cn0KCnRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFI+CnZvaWQgdENvbnRhaW5lcl90PFQsIFI+OjpJbnNlcnQoIFQqIGVsZW1lbnQgKQp7CglDb250YWluZXIucHVzaF9iYWNrKGVsZW1lbnQpOwp9Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBSPgppbnQgdENvbnRhaW5lcl90PFQsIFI+OjpTaXplKCkKewoJcmV0dXJuIENvbnRhaW5lci5zaXplKCk7IC8vIG1vZGlmaWVkIHRoaXMKfQoKdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUj4KVCB0Q29udGFpbmVyX3Q8VCwgUj46OkdldExhc3QoKQp7CgkvL1I8VCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IENvbnRhaW5lci5lbmQoKTsKCXJldHVybiBDb250YWluZXIuZW5kKCk7Cn0KCnRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFI+ClQgdENvbnRhaW5lcl90PFQsIFI+OjpHZXRGaXJzdCgpCnsKCn0KCnRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFI+CmJvb2wgdENvbnRhaW5lcl90PFQsIFI+OjpJc0VtcHR5KCkKewoJQ29udGFpbmVyLmVtcHR5KCk7IC8vIG1vZGlmaWVkIHRoaXMKfQoKLy9DVE9SCnRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFI+CnRDb250YWluZXJfdDxULCBSPjo6dENvbnRhaW5lcl90KCkgOiBDb250YWluZXIoKQp7CgkKfQovL0RUT1IKdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUj4KdENvbnRhaW5lcl90PFQsIFI+Ojp+dENvbnRhaW5lcl90KCkKewoKfQoKaW50IG1haW4oKSAKewoJdENvbnRhaW5lcl90PGludCwgc3RkOjpsaXN0PGludCo+ID4gbDsKCWludCBpMSA9IDE7CglpbnQgaTIgPSAyOwoJbC5JbnNlcnQoJmkxKTsKCWwuSW5zZXJ0KCZpMik7CiAgICAgICAgc3RkOjpjb3V0IDw8IGwuUHJpbnQoKTsgLy8gbW9kaWZpZWQgdGhpcwoJcmV0dXJuIDA7Cn0=