#pragma once #include #include template > class TBasicString; using TString = TBasicString; #ifndef TSTRING_IS_STD_STRING using TCowString = TBasicString; #endif using TUtf16String = TBasicString; using TUtf32String = TBasicString; template > class TBasicStringBuf; using TStringBuf = TBasicStringBuf; using TWtringBuf = TBasicStringBuf; using TUtf32StringBuf = TBasicStringBuf; // misc class TBuffer; // functors template struct TLess; template struct TGreater; template struct TEqualTo; template struct THash; // intrusive containers struct TIntrusiveListDefaultTag; template class TIntrusiveList; template class TIntrusiveListWithAutoDelete; template class TIntrusiveSList; // containers template > class TVector; template > class TDeque; template > class TQueue; template , class C = TLess> class TPriorityQueue; template , class EqualKey = TEqualTo, class Alloc = std::allocator> class THashMap; template , class EqualKey = TEqualTo, class Alloc = std::allocator> class THashMultiMap; template , class EqualKey = TEqualTo, class Alloc = std::allocator> class THashSet; template , class EqualKey = TEqualTo, class Alloc = std::allocator> class THashMultiSet; template > class TList; template , class A = std::allocator> class TMap; template , class A = std::allocator> class TMultiMap; template , class A = std::allocator> class TSet; template , class A = std::allocator> class TMultiSet; template > class TStack; template class TBitMap; // autopointers class TDelete; class TDeleteArray; class TFree; class TCopyNew; template class TAutoPtr; template class THolder; template class TRefCounted; template class TDefaultIntrusivePtrOps; template class TSimpleIntrusiveOps; template > class TIntrusivePtr; template > class TIntrusiveConstPtr; template > using TSimpleIntrusivePtr = TIntrusivePtr>; template class TSharedPtr; template class TCopyPtr; template class TCowPtr; template class TPtrArg; template using TArrayHolder = THolder; template using TMallocHolder = THolder; template using TArrayPtr = TAutoPtr; template using TMallocPtr = TAutoPtr; // maybe namespace NMaybe { struct TPolicyUndefinedExcept; } // namespace NMaybe template class TMaybe; struct TGUID; template class TArrayRef; template using TConstArrayRef = TArrayRef;