static void StrListTest() { WStrList l; utassert(l.Count() == 0); l.Append(str::Dup(L"one")); l.Append(str::Dup(L"two")); l.Append(str::Dup(L"One")); utassert(l.Count() == 3); utassert(str::Eq(l.At(0), L"one")); utassert(str::EqI(l.At(2), L"one")); utassert(l.Find(L"One") == 2); utassert(l.FindI(L"One") == 0); utassert(l.Find(L"Two") == -1); }
ChmTocBuilder(ChmDoc *doc, WStrList *pages, Vec<ChmTocTraceItem> *tocTrace, Allocator *allocator) : doc(doc), pages(pages), tocTrace(tocTrace), allocator(allocator) { for (int i = 0; i < (int)pages->Count(); i++) { const WCHAR *url = pages->At(i); bool inserted = urlsSet.Insert(url, i + 1, NULL); CrashIf(!inserted); } }
ChmTocBuilder(ChmDoc *doc, WStrList *pages, ChmTocItem **root) : doc(doc), pages(pages), root(root), idCounter(0) { #ifdef USE_STR_INT_MAP for (size_t i = 0; i < pages->Count(); i++) { const WCHAR *url = pages->At(i); bool inserted = urlsSet.Insert(url, i + 1, NULL); CrashIf(!inserted); } #endif }