26 bool operator()(TObject *aObj) {
30 TObjString *str(dynamic_cast<TObjString*>(aObj));
34 cout <<
"Value: " << str->String().Data() << endl;
43 SFind(
const TString &aStr): fToFind(aStr) {
46 bool operator()(TObject *aObj) {
47 TObjString *str(dynamic_cast<TObjString*>(aObj));
48 return !str->String().CompareTo(fToFind);
51 const TString fToFind;
63 for (
int i = 0; i < size; ++i) {
64 ss <<
"test string #" << i;
65 TObjString *s(
new TObjString(ss.str().c_str()));
73 for_each(stringList.begin(), stringList.end(), SEnumFunctor());
78 string strToFind(
"test string #4");
79 SFind func(strToFind.c_str());
81 TIterCategory<TList> iter_cat(&stringList);
82 TIterCategory<TList> found
83 = find_if(iter_cat.Begin(), TIterCategory<TList>::End(), func);
87 cerr <<
"Can't find the string: \"" << strToFind <<
"\" in the container" << endl;
91 TObjString *str(dynamic_cast<TObjString*>(*found));
93 cerr <<
"Can't find the string: \"" << strToFind <<
"\" in the container" << endl;
97 cout <<
"The string has been found: " << str->String().Data() << endl;