#include <iostream>
#include <sstream>
#include <list>
#include <vector>
//using namespace std;
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< T* > :: const_iterator it;
for ( it = Container.begin ( ) ; it ! = Container.end ( ) ; it++ )
{
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 R.size ( ) ;
}
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 ( )
{
R.empty ( )
}
//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) ;
l.Print ( ) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDx2ZWN0b3I+Ci8vdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUj4KY2xhc3MgdENvbnRhaW5lcl90CnsKCVIgQ29udGFpbmVyOwpwdWJsaWM6Cgl0Q29udGFpbmVyX3QoKTsKCX50Q29udGFpbmVyX3QoKTsKCglib29sIElzRW1wdHkoKTsKCVQgR2V0Rmlyc3QoKTsKCVQgR2V0TGFzdCgpOwoJaW50IFNpemUoKTsKCXZvaWQgSW5zZXJ0KFQqIGVsZW1lbnQpOwoJc3RkOjpzdHJpbmcgUHJpbnQoKTsKCn07Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBSPgpzdGQ6OnN0cmluZyB0Q29udGFpbmVyX3Q8VCwgUj46OlByaW50KCkKewoJc3RkOjpvc3RyaW5nc3RyZWFtIHM7CglzIDw8ICJbIjsKCXR5cGVuYW1lIFI8VCo+Ojpjb25zdF9pdGVyYXRvciBpdDsKCWZvcihpdCA9IENvbnRhaW5lci5iZWdpbigpOyBpdCAhPSBDb250YWluZXIuZW5kKCk7IGl0KyspCgl7CgkJcyA8PCAoKippdCk7Cgl9CglyZXR1cm4gcy5zdHIoKTsKfQoKdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUj4Kdm9pZCB0Q29udGFpbmVyX3Q8VCwgUj46Okluc2VydCggVCogZWxlbWVudCApCnsKCUNvbnRhaW5lci5wdXNoX2JhY2soZWxlbWVudCk7Cn0KCnRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFI+CmludCB0Q29udGFpbmVyX3Q8VCwgUj46OlNpemUoKQp7CglyZXR1cm4gUi5zaXplKCk7Cn0KCnRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFI+ClQgdENvbnRhaW5lcl90PFQsIFI+OjpHZXRMYXN0KCkKewoJLy9SPFQqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBDb250YWluZXIuZW5kKCk7CglyZXR1cm4gQ29udGFpbmVyLmVuZCgpOwp9Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBSPgpUIHRDb250YWluZXJfdDxULCBSPjo6R2V0Rmlyc3QoKQp7Cgp9Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBSPgpib29sIHRDb250YWluZXJfdDxULCBSPjo6SXNFbXB0eSgpCnsKCVIuZW1wdHkoKQp9CgovL0NUT1IKdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUj4KdENvbnRhaW5lcl90PFQsIFI+Ojp0Q29udGFpbmVyX3QoKSA6IENvbnRhaW5lcigpCnsKCQp9Ci8vRFRPUgp0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBSPgp0Q29udGFpbmVyX3Q8VCwgUj46On50Q29udGFpbmVyX3QoKQp7Cgp9CgppbnQgbWFpbigpIAp7Cgl0Q29udGFpbmVyX3Q8aW50LCBzdGQ6Omxpc3Q8aW50Kj4gPiBsOwoJaW50IGkxID0gMTsKCWludCBpMiA9IDI7CglsLkluc2VydCgmaTEpOwoJbC5JbnNlcnQoJmkyKTsKCWwuUHJpbnQoKTsKCXJldHVybiAwOwp9
compilation info
prog.cpp: In member function ‘std::string tContainer_t<T, R>::Print()’:
prog.cpp:28: error: expected initializer before ‘<’ token
prog.cpp:29: error: ‘it’ was not declared in this scope
prog.cpp: In member function ‘int tContainer_t<T, R>::Size()’:
prog.cpp:45: error: expected primary-expression before ‘.’ token
prog.cpp: In member function ‘bool tContainer_t<T, R>::IsEmpty()’:
prog.cpp:64: error: expected unqualified-id before ‘.’ token
prog.cpp:65: warning: no return statement in function returning non-void
stdout