S60UIExampleInitialContainer.inc
上传用户:laixiong
上传日期:2007-03-11
资源大小:2994k
文件大小:1685k
源码类别:

Symbian

开发平台:

C/C++

  1. __declspec(dllexport) TInt BinarySearchUnsigned(const TAny* anEntry, TInt& anIndex, TInt aMode) const;
  2. __declspec(dllexport) TInt BinarySearch(const TAny* anEntry, TInt& anIndex, TGeneralLinearOrder anOrder, TInt aMode) const;
  3. __declspec(dllexport) RArrayBase(TInt aEntrySize,TAny* aEntries, TInt aCount);
  4. __declspec(dllexport) void GranularCompress();
  5. __declspec(dllexport) TInt DoReserve(TInt aCount);
  6. __declspec(dllexport) void HeapSortSigned();
  7. __declspec(dllexport) void HeapSortUnsigned();
  8. __declspec(dllexport) void HeapSort(TGeneralLinearOrder anOrder);
  9. __declspec(dllexport) static TInt GetCount(const CBase* aPtr);
  10. __declspec(dllexport) static const TAny* GetElementPtr(const CBase* aPtr, TInt aIndex);
  11. private:
  12. TInt Grow();
  13. private:
  14. TInt iCount;
  15. TAny* iEntries;
  16. TInt iEntrySize;
  17. TInt iKeyOffset;
  18. TInt iAllocated;
  19. TInt iGranularity;
  20. TInt iSpare1;
  21. TInt iSpare2;
  22. };
  23. #line 5244
  24. template <class T>
  25. class RArray : private RArrayBase
  26. {
  27. public:
  28. inline RArray();
  29. inline explicit RArray(TInt aGranularity);
  30. inline RArray(TInt aGranularity, TInt aKeyOffset);
  31. inline RArray(TInt aMinGrowBy, TInt aKeyOffset, TInt aFactor);
  32. inline void Close();
  33. inline TInt Count() const;
  34. inline const T& operator[](TInt anIndex) const;
  35. inline T& operator[](TInt anIndex);
  36. inline TInt Append(const T& anEntry);
  37. inline TInt Insert(const T& anEntry, TInt aPos);
  38. inline void Remove(TInt anIndex);
  39. inline void Compress();
  40. inline void Reset();
  41. inline TInt Find(const T& anEntry) const;
  42. inline TInt Find(const T& anEntry, TIdentityRelation<T> anIdentity) const;
  43. inline TInt FindInSignedKeyOrder(const T& anEntry) const;
  44. inline TInt FindInUnsignedKeyOrder(const T& anEntry) const;
  45. inline TInt FindInOrder(const T& anEntry, TLinearOrder<T> anOrder) const;
  46. inline TInt FindInSignedKeyOrder(const T& anEntry, TInt& anIndex) const;
  47. inline TInt FindInUnsignedKeyOrder(const T& anEntry, TInt& anIndex) const;
  48. inline TInt FindInOrder(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder) const;
  49. template <class K>
  50. inline TInt FindInOrder(const K& aKey, TInt (*apfnCompare)(const K* k, const T& t)) const
  51. { return RArrayBase::FindIsq((T*)&aKey,*(TLinearOrder<T> *)&apfnCompare); }
  52. inline TInt SpecificFindInSignedKeyOrder(const T& anEntry, TInt aMode) const;
  53. inline TInt SpecificFindInUnsignedKeyOrder(const T& anEntry, TInt aMode) const;
  54. inline TInt SpecificFindInOrder(const T& anEntry, TLinearOrder<T> anOrder, TInt aMode) const;
  55. inline TInt SpecificFindInSignedKeyOrder(const T& anEntry, TInt& anIndex, TInt aMode) const;
  56. inline TInt SpecificFindInUnsignedKeyOrder(const T& anEntry, TInt& anIndex, TInt aMode) const;
  57. inline TInt SpecificFindInOrder(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder, TInt aMode) const;
  58. inline TInt InsertInSignedKeyOrder(const T& anEntry);
  59. inline TInt InsertInUnsignedKeyOrder(const T& anEntry);
  60. inline TInt InsertInOrder(const T& anEntry, TLinearOrder<T> anOrder);
  61. inline TInt InsertInSignedKeyOrderAllowRepeats(const T& anEntry);
  62. inline TInt InsertInUnsignedKeyOrderAllowRepeats(const T& anEntry);
  63. inline TInt InsertInOrderAllowRepeats(const T& anEntry, TLinearOrder<T> anOrder);
  64. inline void AppendL(const T& anEntry);
  65. inline void InsertL(const T& anEntry, TInt aPos);
  66. inline TInt FindL(const T& anEntry) const;
  67. inline TInt FindL(const T& anEntry, TIdentityRelation<T> anIdentity) const;
  68. inline TInt FindInSignedKeyOrderL(const T& anEntry) const;
  69. inline TInt FindInUnsignedKeyOrderL(const T& anEntry) const;
  70. inline TInt FindInOrderL(const T& anEntry, TLinearOrder<T> anOrder) const;
  71. inline void FindInSignedKeyOrderL(const T& anEntry, TInt& anIndex) const;
  72. inline void FindInUnsignedKeyOrderL(const T& anEntry, TInt& anIndex) const;
  73. inline void FindInOrderL(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder) const;
  74. inline TInt SpecificFindInSignedKeyOrderL(const T& anEntry, TInt aMode) const;
  75. inline TInt SpecificFindInUnsignedKeyOrderL(const T& anEntry, TInt aMode) const;
  76. inline TInt SpecificFindInOrderL(const T& anEntry, TLinearOrder<T> anOrder, TInt aMode) const;
  77. inline void SpecificFindInSignedKeyOrderL(const T& anEntry, TInt& anIndex, TInt aMode) const;
  78. inline void SpecificFindInUnsignedKeyOrderL(const T& anEntry, TInt& anIndex, TInt aMode) const;
  79. inline void SpecificFindInOrderL(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder, TInt aMode) const;
  80. inline void InsertInSignedKeyOrderL(const T& anEntry);
  81. inline void InsertInUnsignedKeyOrderL(const T& anEntry);
  82. inline void InsertInOrderL(const T& anEntry, TLinearOrder<T> anOrder);
  83. inline void InsertInSignedKeyOrderAllowRepeatsL(const T& anEntry);
  84. inline void InsertInUnsignedKeyOrderAllowRepeatsL(const T& anEntry);
  85. inline void InsertInOrderAllowRepeatsL(const T& anEntry, TLinearOrder<T> anOrder);
  86. inline RArray(TInt aEntrySize,T* aEntries, TInt aCount);
  87. inline void GranularCompress();
  88. inline TInt Reserve(TInt aCount);
  89. inline void ReserveL(TInt aCount);
  90. inline void SortSigned();
  91. inline void SortUnsigned();
  92. inline void Sort(TLinearOrder<T> anOrder);
  93. inline TArray<T> Array() const;
  94. };
  95. #line 5331
  96. template<> class RArray<TInt> : private RPointerArrayBase
  97. {
  98. public:
  99. inline RArray();
  100. inline explicit RArray(TInt aGranularity);
  101. inline RArray(TInt aMinGrowBy, TInt aFactor);
  102. inline void Close();
  103. inline TInt Count() const;
  104. inline const TInt& operator[](TInt anIndex) const;
  105. inline TInt& operator[](TInt anIndex);
  106. inline TInt Append(TInt anEntry);
  107. inline TInt Insert(TInt anEntry, TInt aPos);
  108. inline void Remove(TInt anIndex);
  109. inline void Compress();
  110. inline void Reset();
  111. inline TInt Find(TInt anEntry) const;
  112. inline TInt FindInOrder(TInt anEntry) const;
  113. inline TInt FindInOrder(TInt anEntry, TInt& anIndex) const;
  114. inline TInt SpecificFindInOrder(TInt anEntry, TInt aMode) const;
  115. inline TInt SpecificFindInOrder(TInt anEntry, TInt& anIndex, TInt aMode) const;
  116. inline TInt InsertInOrder(TInt anEntry);
  117. inline TInt InsertInOrderAllowRepeats(TInt anEntry);
  118. inline void AppendL(TInt anEntry);
  119. inline void InsertL(TInt anEntry, TInt aPos);
  120. inline TInt FindL(TInt anEntry) const;
  121. inline TInt FindInOrderL(TInt anEntry) const;
  122. inline void FindInOrderL(TInt anEntry, TInt& anIndex) const;
  123. inline TInt SpecificFindInOrderL(TInt anEntry, TInt aMode) const;
  124. inline void SpecificFindInOrderL(TInt anEntry, TInt& anIndex, TInt aMode) const;
  125. inline void InsertInOrderL(TInt anEntry);
  126. inline void InsertInOrderAllowRepeatsL(TInt anEntry);
  127. inline RArray(TInt* aEntries, TInt aCount);
  128. inline void GranularCompress();
  129. inline TInt Reserve(TInt aCount);
  130. inline void ReserveL(TInt aCount);
  131. inline void Sort();
  132. inline TArray<TInt> Array() const;
  133. };
  134. #line 5387
  135. template<> class RArray<TUint> : private RPointerArrayBase
  136. {
  137. public:
  138. inline RArray();
  139. inline explicit RArray(TInt aGranularity);
  140. inline RArray(TInt aMinGrowBy, TInt aFactor);
  141. inline void Close();
  142. inline TInt Count() const;
  143. inline const TUint& operator[](TInt anIndex) const;
  144. inline TUint& operator[](TInt anIndex);
  145. inline TInt Append(TUint anEntry);
  146. inline TInt Insert(TUint anEntry, TInt aPos);
  147. inline void Remove(TInt anIndex);
  148. inline void Compress();
  149. inline void Reset();
  150. inline TInt Find(TUint anEntry) const;
  151. inline TInt FindInOrder(TUint anEntry) const;
  152. inline TInt FindInOrder(TUint anEntry, TInt& anIndex) const;
  153. inline TInt SpecificFindInOrder(TUint anEntry, TInt aMode) const;
  154. inline TInt SpecificFindInOrder(TUint anEntry, TInt& anIndex, TInt aMode) const;
  155. inline TInt InsertInOrder(TUint anEntry);
  156. inline TInt InsertInOrderAllowRepeats(TUint anEntry);
  157. inline void AppendL(TUint anEntry);
  158. inline void InsertL(TUint anEntry, TInt aPos);
  159. inline TInt FindL(TUint anEntry) const;
  160. inline TInt FindInOrderL(TUint anEntry) const;
  161. inline void FindInOrderL(TUint anEntry, TInt& anIndex) const;
  162. inline TInt SpecificFindInOrderL(TUint anEntry, TInt aMode) const;
  163. inline void SpecificFindInOrderL(TUint anEntry, TInt& anIndex, TInt aMode) const;
  164. inline void InsertInOrderL(TUint anEntry);
  165. inline void InsertInOrderAllowRepeatsL(TUint anEntry);
  166. inline RArray(TUint* aEntries, TInt aCount);
  167. inline void GranularCompress();
  168. inline TInt Reserve(TInt aCount);
  169. inline void ReserveL(TInt aCount);
  170. inline void Sort();
  171. inline TArray<TUint> Array() const;
  172. };
  173. #line 5822
  174. extern TAny* operator new(TUint aSize) throw() ;
  175. extern TAny* operator new(TUint aSize,TUint anExtraSize) throw() ;
  176. extern void operator delete(TAny* aPtr) throw() ;
  177. extern TAny* operator new[](TUint aSize) throw() ;
  178. extern void operator delete[](TAny* aPtr) throw() ;
  179. inline TAny* operator new(TUint aSize, TAny* aBase) throw() ;
  180. inline TAny* operator new[](TUint aSize, TAny* aBase) throw() ;
  181. inline void operator delete(TAny* aPtr, TAny* aBase) throw() ;
  182. inline void operator delete[](TAny* aPtr, TAny* aBase) throw() ;
  183. #line 5886
  184. TBool operator==(TTrue,volatile const TBool);
  185. TBool operator==(volatile const TBool,TTrue);
  186. TBool operator!=(TTrue,volatile const TBool);
  187. TBool operator!=(volatile const TBool,TTrue);
  188. #line 5928
  189. class TIpcArgs
  190. {
  191. public:
  192. enum TArgType
  193. {
  194. EUnspecified = 0,
  195. EHandle = 1,
  196. EFlagDes = 4,
  197. EFlagConst = 2,
  198. EFlag16Bit = 1,
  199. EDes8 = EFlagDes,
  200. EDes16 = EFlagDes|EFlag16Bit,
  201. EDesC8 = EFlagDes|EFlagConst,
  202. EDesC16 = EFlagDes|EFlagConst|EFlag16Bit,
  203. };
  204. enum {
  205.      KBitsPerType=3
  206.      };
  207. enum TNothing {
  208. #line 5976
  209.               ENothing
  210.               };
  211. public:
  212. inline TIpcArgs()
  213. :iFlags(0)
  214. {}
  215. #line 5998
  216. template <class T0>
  217. inline explicit TIpcArgs(T0 a0)
  218. {
  219. Assign(iArgs[0],a0);
  220. iFlags=(Type(a0)<<(0*KBitsPerType));
  221. }
  222. #line 6015
  223. template <class T0,class T1>
  224. inline TIpcArgs(T0 a0,T1 a1)
  225. {
  226. Assign(iArgs[0],a0);
  227. Assign(iArgs[1],a1);
  228. iFlags=(Type(a0)<<(0*KBitsPerType))|(Type(a1)<<(1*KBitsPerType));
  229. }
  230. #line 6035
  231. template <class T0,class T1,class T2>
  232. inline TIpcArgs(T0 a0,T1 a1,T2 a2)
  233. {
  234. Assign(iArgs[0],a0);
  235. Assign(iArgs[1],a1);
  236. Assign(iArgs[2],a2);
  237. iFlags=(Type(a0)<<(0*KBitsPerType))|(Type(a1)<<(1*KBitsPerType))|(Type(a2)<<(2*KBitsPerType));
  238. }
  239. #line 6058
  240. template <class T0,class T1,class T2,class T3>
  241. inline TIpcArgs(T0 a0,T1 a1,T2 a2,T3 a3)
  242. {
  243. Assign(iArgs[0],a0);
  244. Assign(iArgs[1],a1);
  245. Assign(iArgs[2],a2);
  246. Assign(iArgs[3],a3);
  247. iFlags=(Type(a0)<<(0*KBitsPerType))|(Type(a1)<<(1*KBitsPerType))|(Type(a2)<<(2*KBitsPerType))|(Type(a3)<<(3*KBitsPerType));
  248. }
  249. inline void Set(TInt aIndex,TNothing);
  250. inline void Set(TInt aIndex,TInt aValue);
  251. inline void Set(TInt aIndex,const TAny* aValue);
  252. inline void Set(TInt aIndex,RHandleBase aValue);
  253. inline void Set(TInt aIndex,const TDesC8* aValue);
  254. inline void Set(TInt aIndex,const TDesC16* aValue);
  255. inline void Set(TInt aIndex,TDes8* aValue);
  256. inline void Set(TInt aIndex,TDes16* aValue);
  257. private:
  258. inline static TArgType Type(TNothing);
  259. inline static TArgType Type(TInt);
  260. inline static TArgType Type(const TAny*);
  261. inline static TArgType Type(RHandleBase aValue);
  262. inline static TArgType Type(const TDesC8*);
  263. inline static TArgType Type(const TDesC16*);
  264. inline static TArgType Type(TDes8*);
  265. inline static TArgType Type(TDes16*);
  266. inline static void Assign(TInt&,TNothing);
  267. inline static void Assign(TInt& aArg,TInt aValue);
  268. inline static void Assign(TInt& aArg,const TAny* aValue);
  269. inline static void Assign(TInt& aArg,RHandleBase aValue);
  270. inline static void Assign(TInt& aArg,const TDesC8* aValue);
  271. inline static void Assign(TInt& aArg,const TDesC16* aValue);
  272. inline static void Assign(TInt& aArg,TDes8* aValue);
  273. inline static void Assign(TInt& aArg,TDes16* aValue);
  274. public:
  275. TInt iArgs[KMaxMessageArguments];
  276. #line 6123
  277. TInt iFlags;
  278. };
  279. struct SInt64
  280. {
  281. public:
  282. inline SInt64();
  283. inline SInt64(Int64 a);
  284. inline SInt64& operator=(Int64 a);
  285. inline operator Int64() const;
  286. public:
  287. TUint32 iData[2];
  288. };
  289. struct SUint64
  290. {
  291. public:
  292. inline SUint64();
  293. inline SUint64(Uint64 a);
  294. inline SUint64& operator=(Uint64 a);
  295. inline operator Uint64() const;
  296. public:
  297. TUint32 iData[2];
  298. };
  299. struct SDouble
  300. {
  301. public:
  302. inline SDouble();
  303. inline SDouble(TReal a);
  304. inline SDouble& operator=(TReal a);
  305. inline operator TReal() const;
  306. public:
  307. TUint32 iData[2];
  308. };
  309. #line 6181
  310. class TThreadStackInfo
  311. {
  312. public:
  313. TLinAddr iBase;
  314. TLinAddr iLimit;
  315. TLinAddr iExpandLimit;
  316. };
  317. #line 6214
  318. class XLeaveException
  319. {
  320. public:
  321. inline XLeaveException() {}
  322. inline XLeaveException(TInt aReason) {iR = aReason;}
  323. inline TInt Reason() const {return iR;}
  324. __declspec(dllexport) TInt GetReason() const;
  325. private:
  326. #line 6230
  327. private:
  328. TAny* iVtable;
  329. TInt iR;
  330. };
  331. namespace std {
  332.   bool uncaught_exception(void);
  333.   void terminate(void);
  334.   void unexpected(void);
  335.   typedef void (*terminate_handler)();
  336.   terminate_handler set_terminate(terminate_handler h) throw();
  337.   typedef void (*unexpected_handler)();
  338.   unexpected_handler set_unexpected(unexpected_handler h) throw();
  339. }
  340. class __UnknownWindowsType1;
  341. class __UnknownWindowsType2;
  342. class TWin32SEHTrap;
  343. typedef TUint32 (TWin32SEHExceptionHandler)(__UnknownWindowsType1* aExceptionRecord, TWin32SEHTrap* aRegistrationRecord, __UnknownWindowsType2* aContext);
  344. class TWin32SEHTrap
  345. {
  346. private:
  347.     TWin32SEHTrap(TWin32SEHTrap const &);
  348.     TWin32SEHTrap& operator=(TWin32SEHTrap const &);
  349. #line 6297
  350. public:
  351. __declspec(dllexport) TWin32SEHTrap();
  352. public:
  353. __declspec(dllexport) void Trap();
  354. __declspec(dllexport) void UnTrap();
  355. private:
  356. static TUint32 ExceptionHandler(__UnknownWindowsType1* aException, TWin32SEHTrap* aRegistrationRecord, __UnknownWindowsType2* aContext);
  357.     TWin32SEHTrap* iPrevExceptionRegistrationRecord;
  358. TWin32SEHExceptionHandler* iExceptionHandler;
  359. private:
  360. TUint32 iPadding[254];
  361. };
  362. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32cmn.inl" /* stack depth 5 */
  363. #line 9
  364. inline TAny* operator new(TUint , TAny* aBase) throw()
  365. {return aBase;}
  366. inline void operator delete(TAny* , TAny* ) throw()
  367. {}
  368. inline TAny* operator new[](TUint , TAny* aBase) throw()
  369. {return aBase;}
  370. inline void operator delete[](TAny* , TAny* ) throw()
  371. {}
  372. inline RAllocator::RAllocator()
  373. {
  374. iAccessCount=1;
  375. iHandleCount=0;
  376. iHandles=0;
  377. iFlags=0;
  378. iCellCount=0;
  379. iTotalAllocSize=0;
  380. }
  381. inline void RAllocator::__DbgMarkCheck(TBool aCountAll, TInt aCount, const TUint8* aFileName, TInt aLineNum)
  382. {__DbgMarkCheck(aCountAll, aCount, TPtrC8(aFileName), aLineNum);}
  383. inline RHeap::RHeap()
  384. {}
  385. inline TInt RHeap::MaxLength() const
  386. {return iMaxLength;}
  387. inline void RHeap::operator delete(TAny*, TAny*)
  388. {}
  389. inline TUint8* RHeap::Base() const
  390. #line 73
  391. {return iBase;}
  392. inline TInt RHeap::Size() const
  393. #line 89
  394. {return iTop-iBase;}
  395. inline TInt RHeap::Align(TInt a) const
  396. {return (((a)+( iAlign)-1)&~(( iAlign)-1)) ;}
  397. inline const TAny* RHeap::Align(const TAny* a) const
  398. {return (const TAny*)((((TLinAddr)a)+( iAlign)-1)&~(( iAlign)-1)) ;}
  399. inline TBool RHeap::IsLastCell(const SCell* aCell) const
  400. {return (((TUint8*)aCell) + aCell->len) == iTop;}
  401. inline void RHeap::Lock() const
  402. {((RFastLock&)iLock).Wait();}
  403. inline void RHeap::Unlock() const
  404. {((RFastLock&)iLock).Signal();}
  405. template <class T>
  406. inline TRefByValue<T>::TRefByValue(T &aRef)
  407. : iRef(aRef)
  408. {}
  409. template <class T>
  410. inline TRefByValue<T>::operator T &()
  411. {return(iRef);}
  412. #line 201
  413. inline TInt RBusLogicalChannel::DoCreate(const TDesC& aDevice, const TVersion& aVer, TInt aUnit, const TDesC* aDriver, const TDesC8* aInfo, TOwnerType aType, TBool aTransferable)
  414. { return DoCreate(aDevice, aVer, aUnit, aDriver, aInfo, (TInt)aType | (aTransferable?KCreateProtectedObject:0) ); }
  415. inline TChar::TChar()
  416. {}
  417. inline TChar::TChar(TUint aChar)
  418. : iChar(aChar)
  419. {}
  420. inline TChar& TChar::operator-=(TUint aChar)
  421. #line 241
  422. {iChar-=aChar;return(*this);}
  423. inline TChar& TChar::operator+=(TUint aChar)
  424. #line 256
  425. {iChar+=aChar;return(*this);}
  426. inline TChar TChar::operator-(TUint aChar)
  427. #line 273
  428. {return(iChar-aChar);}
  429. inline TChar TChar::operator+(TUint aChar)
  430. #line 288
  431. {return(iChar+aChar);}
  432. inline TChar::operator TUint() const
  433. {return(iChar);}
  434. inline TBool TDesC8::operator<(const TDesC8 &aDes) const
  435. #line 320
  436. {return(Compare(aDes)<0);}
  437. inline TBool TDesC8::operator<=(const TDesC8 &aDes) const
  438. #line 339
  439. {return(Compare(aDes)<=0);}
  440. inline TBool TDesC8::operator>(const TDesC8 &aDes) const
  441. #line 358
  442. {return(Compare(aDes)>0);}
  443. inline TBool TDesC8::operator>=(const TDesC8 &aDes) const
  444. #line 377
  445. {return(Compare(aDes)>=0);}
  446. inline TBool TDesC8::operator==(const TDesC8 &aDes) const
  447. #line 396
  448. {return(Compare(aDes)==0);}
  449. inline TBool TDesC8::operator!=(const TDesC8 &aDes) const
  450. #line 415
  451. {return(Compare(aDes)!=0);}
  452. inline const TUint8 &TDesC8::operator[](TInt anIndex) const
  453. #line 433
  454. {return(AtC(anIndex));}
  455. inline TInt TDesC8::Length() const
  456. {return(iLength&KMaskDesLength8);}
  457. inline TInt TDesC8::Size() const
  458. {return(Length());}
  459. inline void TDesC8::DoSetLength(TInt aLength)
  460. {iLength=(iLength&(~KMaskDesLength8))|aLength;}
  461. inline void TPtrC8::Set(const TUint8 *aBuf,TInt aLength)
  462. #line 483
  463. {new(this) TPtrC8(aBuf,aLength);}
  464. inline void TPtrC8::Set(const TDesC8 &aDes)
  465. {new(this) TPtrC8(aDes);}
  466. inline void TPtrC8::Set(const TPtrC8& aPtr)
  467. #line 510
  468. {new(this) TPtrC8(aPtr);}
  469. inline TPtr8 TBufCBase8::DoDes(TInt aMaxLength)
  470. {return TPtr8(*this,aMaxLength);}
  471. template <TInt S>
  472. inline TBufC8<S>::TBufC8()
  473. : TBufCBase8()
  474. #line 540
  475. {}
  476. template <TInt S>
  477. inline TBufC8<S>::TBufC8(const TUint8 *aString)
  478. : TBufCBase8(aString,S)
  479. #line 564
  480. {}
  481. template <TInt S>
  482. inline TBufC8<S>::TBufC8(const TDesC8 &aDes)
  483. : TBufCBase8(aDes,S)
  484. #line 588
  485. {}
  486. template <TInt S>
  487. inline TBufC8<S> &TBufC8<S>::operator=(const TUint8 *aString)
  488. #line 607
  489. {Copy(aString,S);return(*this);}
  490. template <TInt S>
  491. inline TBufC8<S> &TBufC8<S>::operator=(const TDesC8 &aDes)
  492. #line 626
  493. {Copy(aDes,S);return(*this);}
  494. template <TInt S>
  495. inline TPtr8 TBufC8<S>::Des()
  496. #line 656
  497. {return DoDes(S);}
  498. inline HBufC8 &HBufC8::operator=(const HBufC8 &aLcb)
  499. #line 681
  500. {return *this=static_cast<const TDesC8&>(aLcb);}
  501. #line 710
  502. inline void RBuf8::CreateL(RReadStream &aStream,TInt aMaxLength)
  503. {
  504. Assign(HBufC8::NewL(aStream,aMaxLength));
  505. }
  506. inline TDes8 &TDes8::operator=(const TUint8 *aString)
  507. #line 733
  508.     {Copy(aString);return(*this);}
  509. inline TDes8 &TDes8::operator=(const TDesC8 &aDes)
  510. #line 751
  511.     {Copy(aDes);return(*this);}
  512. inline TDes8 &TDes8::operator=(const TDes8 &aDes)
  513. #line 769
  514.     {Copy(aDes);return(*this);}
  515. inline TDes8 &TDes8::operator+=(const TDesC8 &aDes)
  516. #line 788
  517. {Append(aDes);return(*this);}
  518. inline const TUint8 &TDes8::operator[](TInt anIndex) const
  519. #line 806
  520. {return(AtC(anIndex));}
  521. inline TUint8 &TDes8::operator[](TInt anIndex)
  522. #line 825
  523. {return((TUint8 &)AtC(anIndex));}
  524. inline TInt TDes8::MaxLength() const
  525. #line 839
  526. {return(iMaxLength);}
  527. inline TInt TDes8::MaxSize() const
  528. #line 853
  529. {return(iMaxLength);}
  530. inline TUint8 * TDes8::WPtr() const
  531. {return((TUint8 *)Ptr());}
  532. inline TPtr8 &TPtr8::operator=(const TUint8 *aString)
  533. #line 879
  534. {Copy(aString);return(*this);}
  535. inline TPtr8 &TPtr8::operator=(const TDesC8 &aDes)
  536. #line 899
  537. {Copy(aDes);return(*this);}
  538. inline TPtr8 &TPtr8::operator=(const TPtr8 &aDes)
  539. #line 919
  540. {Copy(aDes);return(*this);}
  541. inline void TPtr8::Set(TUint8 *aBuf,TInt aLength,TInt aMaxLength)
  542. #line 940
  543. {new(this) TPtr8(aBuf,aLength,aMaxLength);}
  544. inline void TPtr8::Set(const TPtr8 &aPtr)
  545. #line 955
  546. {new(this) TPtr8(aPtr);}
  547. template <TInt S>
  548. inline TBuf8<S>::TBuf8()
  549. : TBufBase8(S)
  550. #line 972
  551. {}
  552. template <TInt S>
  553. inline TBuf8<S>::TBuf8(TInt aLength)
  554. : TBufBase8(aLength,S)
  555. #line 994
  556. {}
  557. template <TInt S>
  558. inline TBuf8<S>::TBuf8(const TUint8 *aString)
  559. : TBufBase8(aString,S)
  560. #line 1018
  561. {}
  562. template <TInt S>
  563. inline TBuf8<S>::TBuf8(const TDesC8 &aDes)
  564. : TBufBase8(aDes,S)
  565. #line 1042
  566. {}
  567. template <TInt S>
  568. inline TBuf8<S> &TBuf8<S>::operator=(const TUint8 *aString)
  569. #line 1062
  570. {Copy(aString);return(*this);}
  571. template <TInt S>
  572. inline TBuf8<S> &TBuf8<S>::operator=(const TDesC8 &aDes)
  573. #line 1082
  574. {Copy(aDes);return(*this);}
  575. template <TInt S>
  576. inline TBuf8<S>& TBuf8<S>::operator=(const TBuf8<S>& aBuf)
  577. #line 1100
  578. {Copy(aBuf);return *this;}
  579. template <TInt S>
  580. inline TAlignedBuf8<S>::TAlignedBuf8()
  581. : TBufBase8(S)
  582. #line 1117
  583. {}
  584. template <TInt S>
  585. inline TAlignedBuf8<S>::TAlignedBuf8(TInt aLength)
  586. : TBufBase8(aLength,S)
  587. #line 1139
  588. {}
  589. template <TInt S>
  590. inline TAlignedBuf8<S>::TAlignedBuf8(const TUint8 *aString)
  591. : TBufBase8(aString,S)
  592. #line 1163
  593. {}
  594. template <TInt S>
  595. inline TAlignedBuf8<S>::TAlignedBuf8(const TDesC8 &aDes)
  596. : TBufBase8(aDes,S)
  597. #line 1187
  598. {}
  599. template <TInt S>
  600. inline TAlignedBuf8<S> &TAlignedBuf8<S>::operator=(const TUint8 *aString)
  601. #line 1207
  602. {Copy(aString);return(*this);}
  603. template <TInt S>
  604. inline TAlignedBuf8<S> &TAlignedBuf8<S>::operator=(const TDesC8 &aDes)
  605. #line 1227
  606. {Copy(aDes);return(*this);}
  607. template <TInt S>
  608. inline TAlignedBuf8<S>& TAlignedBuf8<S>::operator=(const TAlignedBuf8<S>& aBuf)
  609. #line 1245
  610. {Copy(aBuf);return *this;}
  611. template <TInt S>
  612. inline const TDesC8* TLitC8<S>::operator&() const
  613. {return (reinterpret_cast<const TDesC8*>(this)) ;}
  614. template <TInt S>
  615. inline const TDesC8& TLitC8<S>::operator()() const
  616. {return *operator&();}
  617. template <TInt S>
  618. inline TLitC8<S>::operator const TDesC8&() const
  619. {return *operator&();}
  620. template <TInt S>
  621. inline TLitC8<S>::operator const __TRefDesC8() const
  622. {return *operator&();}
  623. inline TBool TDesC16::operator<(const TDesC16 &aDes) const
  624. #line 1314
  625. {return(Compare(aDes)<0);}
  626. inline TBool TDesC16::operator<=(const TDesC16 &aDes) const
  627. #line 1333
  628. {return(Compare(aDes)<=0);}
  629. inline TBool TDesC16::operator>(const TDesC16 &aDes) const
  630. #line 1352
  631. {return(Compare(aDes)>0);}
  632. inline TBool TDesC16::operator>=(const TDesC16 &aDes) const
  633. #line 1371
  634. {return(Compare(aDes)>=0);}
  635. inline TBool TDesC16::operator==(const TDesC16 &aDes) const
  636. #line 1390
  637. {return(Compare(aDes)==0);}
  638. inline TBool TDesC16::operator!=(const TDesC16 &aDes) const
  639. #line 1409
  640. {return(Compare(aDes)!=0);}
  641. inline const TUint16 &TDesC16::operator[](TInt anIndex) const
  642. #line 1427
  643. {return(AtC(anIndex));}
  644. inline TInt TDesC16::Length() const
  645. {return(iLength&KMaskDesLength16);}
  646. inline TInt TDesC16::Size() const
  647. #line 1454
  648. {return(Length()<<1);}
  649. inline void TDesC16::DoSetLength(TInt aLength)
  650. {iLength=(iLength&(~KMaskDesLength16))|aLength;}
  651. inline void TPtrC16::Set(const TUint16 *aBuf,TInt aLength)
  652. #line 1478
  653. {new(this) TPtrC16(aBuf,aLength);}
  654. inline void TPtrC16::Set(const TDesC16 &aDes)
  655. {new(this) TPtrC16(aDes);}
  656. inline void TPtrC16::Set(const TPtrC16& aPtr)
  657. {new(this) TPtrC16(aPtr);}
  658. inline TPtr16 TBufCBase16::DoDes(TInt aMaxLength)
  659. {return TPtr16(*this,aMaxLength);}
  660. template <TInt S>
  661. inline TBufC16<S>::TBufC16()
  662. : TBufCBase16()
  663. #line 1526
  664. {}
  665. template <TInt S>
  666. inline TBufC16<S>::TBufC16(const TUint16 *aString)
  667. : TBufCBase16(aString,S)
  668. #line 1550
  669. {}
  670. template <TInt S>
  671. inline TBufC16<S>::TBufC16(const TDesC16 &aDes)
  672. : TBufCBase16(aDes,S)
  673. #line 1574
  674. {}
  675. template <TInt S>
  676. inline TBufC16<S> &TBufC16<S>::operator=(const TUint16 *aString)
  677. #line 1593
  678. {Copy(aString,S);return(*this);}
  679. template <TInt S>
  680. inline TBufC16<S> &TBufC16<S>::operator=(const TDesC16 &aDes)
  681. #line 1612
  682. {Copy(aDes,S);return(*this);}
  683. template <TInt S>
  684. inline TPtr16 TBufC16<S>::Des()
  685. #line 1642
  686. {return(DoDes(S));}
  687. inline HBufC16 &HBufC16::operator=(const HBufC16 &aLcb)
  688. #line 1667
  689. {return *this=static_cast<const TDesC16&>(aLcb);}
  690. inline TDes16 &TDes16::operator=(const TUint16 *aString)
  691. #line 1687
  692.     {Copy(aString);return(*this);}
  693. inline TDes16 &TDes16::operator=(const TDesC16 &aDes)
  694. #line 1705
  695.     {Copy(aDes);return(*this);}
  696. inline TDes16 &TDes16::operator=(const TDes16 &aDes)
  697. #line 1723
  698.     {Copy(aDes);return(*this);}
  699. inline TDes16 &TDes16::operator+=(const TDesC16 &aDes)
  700. #line 1742
  701. {Append(aDes);return(*this);}
  702. inline const TUint16 &TDes16::operator[](TInt anIndex) const
  703. #line 1759
  704. {return(AtC(anIndex));}
  705. inline TUint16 &TDes16::operator[](TInt anIndex)
  706. #line 1778
  707. {return((TUint16 &)AtC(anIndex));}
  708. inline TInt TDes16::MaxLength() const
  709. #line 1792
  710. {return(iMaxLength);}
  711. inline TInt TDes16::MaxSize() const
  712. #line 1806
  713. {return(iMaxLength<<1);}
  714. inline TUint16 * TDes16::WPtr() const
  715. {return((TUint16 *)Ptr());}
  716. inline TPtr16 &TPtr16::operator=(const TUint16 *aString)
  717. #line 1832
  718. {Copy(aString);return(*this);}
  719. inline TPtr16 &TPtr16::operator=(const TDesC16 &aDes)
  720. #line 1852
  721. {Copy(aDes);return(*this);}
  722. inline TPtr16 &TPtr16::operator=(const TPtr16 &aDes)
  723. #line 1872
  724. {Copy(aDes);return(*this);}
  725. inline void TPtr16::Set(TUint16 *aBuf,TInt aLength,TInt aMaxLength)
  726. #line 1893
  727. {new(this) TPtr16(aBuf,aLength,aMaxLength);}
  728. inline void TPtr16::Set(const TPtr16 &aPtr)
  729. #line 1908
  730. {new(this) TPtr16(aPtr);}
  731. template <TInt S>
  732. inline TBuf16<S>::TBuf16()
  733. : TBufBase16(S)
  734. #line 1925
  735. {}
  736. template <TInt S>
  737. inline TBuf16<S>::TBuf16(TInt aLength)
  738. : TBufBase16(aLength,S)
  739. #line 1947
  740. {}
  741. template <TInt S>
  742. inline TBuf16<S>::TBuf16(const TUint16 *aString)
  743. : TBufBase16(aString,S)
  744. #line 1971
  745. {}
  746. template <TInt S>
  747. inline TBuf16<S>::TBuf16(const TDesC16 &aDes)
  748. : TBufBase16(aDes,S)
  749. #line 1995
  750. {}
  751. template <TInt S>
  752. inline TBuf16<S> &TBuf16<S>::operator=(const TUint16 *aString)
  753. #line 2015
  754. {Copy(aString);return(*this);}
  755. template <TInt S>
  756. inline TBuf16<S> &TBuf16<S>::operator=(const TDesC16 &aDes)
  757. #line 2035
  758. {Copy(aDes);return(*this);}
  759. template <TInt S>
  760. inline TBuf16<S>& TBuf16<S>::operator=(const TBuf16<S>& aBuf)
  761. #line 2056
  762. {Copy(aBuf);return *this;}
  763. #line 2083
  764. inline void RBuf16::CreateL(RReadStream &aStream,TInt aMaxLength)
  765. {
  766. Assign(HBufC16::NewL(aStream,aMaxLength));
  767. }
  768. template <TInt S>
  769. inline const TDesC16* TLitC16<S>::operator&() const
  770. {return (reinterpret_cast<const TDesC16*>(this)) ;}
  771. template <TInt S>
  772. inline const TDesC16& TLitC16<S>::operator()() const
  773. {return *operator&();}
  774. template <TInt S>
  775. inline TLitC16<S>::operator const TDesC16&() const
  776. {return *operator&();}
  777. template <TInt S>
  778. inline TLitC16<S>::operator const __TRefDesC16() const
  779. {return *operator&();}
  780. template <TInt S>
  781. inline TBufC<S>::TBufC()
  782. : TBufCBase16()
  783. #line 2157
  784. {}
  785. template <TInt S>
  786. inline TBufC<S>::TBufC(const TText *aString)
  787. : TBufCBase16(aString,S)
  788. #line 2186
  789. {}
  790. template <TInt S>
  791. inline TBufC<S>::TBufC(const TDesC &aDes)
  792. : TBufCBase16(aDes,S)
  793. #line 2219
  794. {}
  795. #line 2234
  796. template <TInt S>
  797. inline TBufC<S> &TBufC<S>::operator=(const TText *aString)
  798. #line 2253
  799. {Copy(aString,S);return(*this);}
  800. template <TInt S>
  801. inline TBufC<S> &TBufC<S>::operator=(const TDesC &aDes)
  802. #line 2277
  803. {Copy(aDes,S);return(*this);}
  804. template <TInt S>
  805. inline TPtr TBufC<S>::Des()
  806. #line 2308
  807. {return(DoDes(S));}
  808. template <TInt S>
  809. inline TBuf<S>::TBuf()
  810. : TBufBase16(S)
  811. {}
  812. template <TInt S>
  813. inline TBuf<S>::TBuf(TInt aLength)
  814. : TBufBase16(aLength,S)
  815. #line 2350
  816. {}
  817. template <TInt S>
  818. inline TBuf<S>::TBuf(const TText *aString)
  819. : TBufBase16(aString,S)
  820. #line 2378
  821. {}
  822. template <TInt S>
  823. inline TBuf<S>::TBuf(const TDesC &aDes)
  824. : TBufBase16(aDes,S)
  825. #line 2407
  826. {}
  827. #line 2426
  828. template <TInt S>
  829. inline TBuf<S> &TBuf<S>::operator=(const TText *aString)
  830. {Copy(aString);return(*this);}
  831. template <TInt S>
  832. inline TBuf<S> &TBuf<S>::operator=(const TDesC &aDes)
  833. {Copy(aDes);return(*this);}
  834. template <TInt S>
  835. inline TBuf<S> &TBuf<S>::operator=(const TBuf<S> &aBuf)
  836. {Copy(aBuf);return(*this);}
  837. template <TInt S>
  838. inline const TDesC* TLitC<S>::operator&() const
  839. {return (reinterpret_cast<const TDesC*>(this)) ;}
  840. template <TInt S>
  841. inline const TDesC& TLitC<S>::operator()() const
  842. {return *operator&();}
  843. template <TInt S>
  844. inline TLitC<S>::operator const TDesC&() const
  845. {return *operator&();}
  846. template <TInt S>
  847. inline TLitC<S>::operator const __TRefDesC() const
  848. {return *operator&();}
  849. template <class T>
  850. inline TPckgC<T>::TPckgC(const T &aRef)
  851. : TPtrC8((const TUint8 *)&aRef,sizeof(T))
  852. {}
  853. template <class T>
  854. inline const T &TPckgC<T>::operator()() const
  855. {return(*((const T *)iPtr));}
  856. template <class T>
  857. inline TPckg<T>::TPckg(const T &aRef)
  858. : TPtr8((TUint8 *)&aRef,sizeof(T),sizeof(T))
  859. {}
  860. template <class T>
  861. inline T &TPckg<T>::operator()()
  862. {return(*((T *)iPtr));}
  863. template <class T>
  864. inline TPckgBuf<T>::TPckgBuf()
  865. : TAlignedBuf8<sizeof(T)>(sizeof(T))
  866. {new(&this->iBuf[0]) T;}
  867. template <class T>
  868. inline TPckgBuf<T>::TPckgBuf(const T &aRef)
  869. : TAlignedBuf8<sizeof(T)>(sizeof(T))
  870. #line 2576
  871. {new(&this->iBuf[0]) T(aRef);}
  872. template <class T>
  873. inline TPckgBuf<T> &TPckgBuf<T>::operator=(const TPckgBuf<T> &aRef)
  874. {this->Copy(aRef);return(*this);}
  875. template <class T>
  876. inline T &TPckgBuf<T>::operator=(const T &aRef)
  877. #line 2605
  878. {this->Copy((TUint8 *)&aRef,sizeof(T));return(*((T *)&this->iBuf[0]));}
  879. template <class T>
  880. inline T &TPckgBuf<T>::operator()()
  881. {return(*((T *)&this->iBuf[0]));}
  882. template <class T>
  883. inline const T &TPckgBuf<T>::operator()() const
  884. {return(*((T *)&this->iBuf[0]));}
  885. inline TRequestStatus::TRequestStatus()
  886. : iFlags(0)
  887. {}
  888. inline TRequestStatus::TRequestStatus(TInt aVal)
  889. : iStatus(aVal),
  890. iFlags(aVal==KRequestPending ? TRequestStatus::ERequestPending : 0)
  891. {}
  892. inline TInt TRequestStatus::operator=(TInt aVal)
  893. {
  894. if(aVal==KRequestPending)
  895. iFlags|=TRequestStatus::ERequestPending;
  896. else
  897. iFlags&=~TRequestStatus::ERequestPending;
  898. return (iStatus=aVal);
  899. }
  900. inline TBool TRequestStatus::operator==(TInt aVal) const
  901. #line 2691
  902. {return(iStatus==aVal);}
  903. inline TBool TRequestStatus::operator!=(TInt aVal) const
  904. #line 2705
  905. {return(iStatus!=aVal);}
  906. inline TBool TRequestStatus::operator>=(TInt aVal) const
  907. #line 2720
  908. {return(iStatus>=aVal);}
  909. inline TBool TRequestStatus::operator<=(TInt aVal) const
  910. #line 2735
  911. {return(iStatus<=aVal);}
  912. inline TBool TRequestStatus::operator>(TInt aVal) const
  913. #line 2750
  914. {return(iStatus>aVal);}
  915. inline TBool TRequestStatus::operator<(TInt aVal) const
  916. #line 2765
  917. {return(iStatus<aVal);}
  918. inline TInt TRequestStatus::Int() const
  919. {return(iStatus);}
  920. inline TPoint::TPoint()
  921. : iX(0),iY(0)
  922. {}
  923. inline TPoint::TPoint(TInt aX,TInt aY)
  924. : iX(aX),iY(aY)
  925. {}
  926. inline TSize::TSize()
  927. : iWidth(0),iHeight(0)
  928. {}
  929. inline TSize::TSize(TInt aWidth,TInt aHeight)
  930. : iWidth(aWidth),iHeight(aHeight)
  931. {}
  932. inline RHandleBase::RHandleBase()
  933. : iHandle(0)
  934. {}
  935. inline RHandleBase::RHandleBase(TInt aHandle)
  936. : iHandle(aHandle)
  937. #line 2853
  938. {}
  939. inline void RHandleBase::SetHandle(TInt aHandle)
  940. { iHandle=aHandle; }
  941. inline TInt RHandleBase::Handle() const
  942. {return(iHandle);}
  943. inline TInt RHandleBase::SetReturnedHandle(TInt aHandleOrError)
  944. #line 2899
  945. {
  946. if(aHandleOrError>=0)
  947. {
  948. iHandle = aHandleOrError;
  949. return KErrNone;
  950. }
  951. iHandle = 0;
  952. return aHandleOrError;
  953. }
  954. inline TInt RSemaphore::Open(const TFindSemaphore& aFind,TOwnerType aType)
  955. #line 2935
  956. {return(RHandleBase::Open((const TFindHandleBase&)aFind,aType));}
  957. #line 2947
  958. inline RFastLock::RFastLock()
  959. : iCount(0)
  960. {}
  961. #line 2960
  962. inline RMessagePtr2::RMessagePtr2()
  963. : iHandle(0)
  964. {}
  965. #line 2972
  966. inline TBool RMessagePtr2::IsNull() const
  967. {return iHandle==0;}
  968. #line 2983
  969. inline TInt RMessagePtr2::Handle() const
  970. {return iHandle;}
  971. inline TBool operator==(RMessagePtr2 aLeft,RMessagePtr2 aRight)
  972. {return aLeft.Handle()==aRight.Handle();}
  973. inline TBool operator!=(RMessagePtr2 aLeft,RMessagePtr2 aRight)
  974. {return aLeft.Handle()!=aRight.Handle();}
  975. #line 3000
  976. inline RMessage2::RMessage2()
  977. {}
  978. #line 3011
  979. inline TInt RMessage2::Function() const
  980. {return(iFunction);}
  981. #line 3022
  982. inline TInt RMessage2::Int0() const
  983. {return(iArgs[0]);}
  984. #line 3033
  985. inline TInt RMessage2::Int1() const
  986. {return(iArgs[1]);}
  987. #line 3044
  988. inline TInt RMessage2::Int2() const
  989. {return(iArgs[2]);}
  990. #line 3054
  991. inline TInt RMessage2::Int3() const
  992. {return(iArgs[3]);}
  993. #line 3064
  994. inline const TAny *RMessage2::Ptr0() const
  995. {return((const TAny *)iArgs[0]);}
  996. #line 3075
  997. inline const TAny *RMessage2::Ptr1() const
  998. {return((const TAny *)iArgs[1]);}
  999. #line 3086
  1000. inline const TAny *RMessage2::Ptr2() const
  1001. {return((const TAny *)iArgs[2]);}
  1002. #line 3097
  1003. inline const TAny *RMessage2::Ptr3() const
  1004. {return((const TAny *)iArgs[3]);}
  1005. #line 3107
  1006. inline CSession2* RMessage2::Session() const
  1007. {return (CSession2*)iSessionPtr; }
  1008. inline TUid TUid::Uid(TInt aUid)
  1009. #line 3123
  1010. {TUid uid={aUid};return uid;}
  1011. inline TUid TUid::Null()
  1012. {TUid uid={KNullUidValue};return uid;}
  1013. template <class T>
  1014. inline TArray<T>::TArray(TInt (*aCount)(const CBase *aPtr),const TAny *(*anAt)(const CBase *aPtr,TInt anIndex),const CBase *aPtr)
  1015. : iPtr(aPtr),iCount(aCount),iAt(anAt)
  1016. #line 3195
  1017. {}
  1018. template <class T>
  1019. inline TInt TArray<T>::Count() const
  1020. {return((*iCount)(iPtr));}
  1021. template <class T>
  1022. inline const T &TArray<T>::operator[](TInt anIndex) const
  1023. #line 3232
  1024. {return(*((const T *)(*iAt)(iPtr,anIndex)));}
  1025. template <class T>
  1026. inline TIdentityRelation<T>::TIdentityRelation( TBool (*anIdentity)(const T&, const T&) )
  1027. #line 3254
  1028. { iIdentity=(TGeneralIdentityRelation)anIdentity; }
  1029. template <class T>
  1030. inline TIdentityRelation<T>::operator TGeneralIdentityRelation() const
  1031. { return iIdentity; }
  1032. template <class T>
  1033. inline TLinearOrder<T>::TLinearOrder( TInt(*anOrder)(const T&, const T&) )
  1034. #line 3288
  1035. { iOrder=(TGeneralLinearOrder)anOrder; }
  1036. template <class T>
  1037. inline TLinearOrder<T>::operator TGeneralLinearOrder() const
  1038. { return iOrder; }
  1039. #line 3312
  1040. template <class T>
  1041. inline RPointerArray<T>::RPointerArray()
  1042. : RPointerArrayBase()
  1043. {}
  1044. #line 3331
  1045. template <class T>
  1046. inline RPointerArray<T>::RPointerArray(TInt aGranularity)
  1047. : RPointerArrayBase(aGranularity)
  1048. {}
  1049. #line 3354
  1050. template <class T>
  1051. inline RPointerArray<T>::RPointerArray(TInt aMinGrowBy, TInt aFactor)
  1052. : RPointerArrayBase(aMinGrowBy, aFactor)
  1053. {}
  1054. template <class T>
  1055. inline void RPointerArray<T>::Close()
  1056. #line 3372
  1057. {RPointerArrayBase::Close();}
  1058. template <class T>
  1059. inline TInt RPointerArray<T>::Count() const
  1060. { return RPointerArrayBase::Count(); }
  1061. template <class T>
  1062. inline T* const& RPointerArray<T>::operator[](TInt anIndex) const
  1063. #line 3408
  1064. {return (T* const&)At(anIndex);}
  1065. template <class T>
  1066. inline T*& RPointerArray<T>::operator[](TInt anIndex)
  1067. #line 3432
  1068. {return (T*&)At(anIndex);}
  1069. template <class T>
  1070. inline TInt RPointerArray<T>::Append(const T* anEntry)
  1071. #line 3447
  1072. { return RPointerArrayBase::Append(anEntry); }
  1073. template <class T>
  1074. inline TInt RPointerArray<T>::Insert(const T* anEntry, TInt aPos)
  1075. #line 3468
  1076. { return RPointerArrayBase::Insert(anEntry,aPos); }
  1077. template <class T>
  1078. inline void RPointerArray<T>::Remove(TInt anIndex)
  1079. #line 3488
  1080. {RPointerArrayBase::Remove(anIndex);}
  1081. template <class T>
  1082. inline void RPointerArray<T>::Compress()
  1083. #line 3503
  1084. {RPointerArrayBase::Compress();}
  1085. template <class T>
  1086. inline void RPointerArray<T>::Reset()
  1087. #line 3522
  1088. {RPointerArrayBase::Reset();}
  1089. template <class T>
  1090. inline TInt RPointerArray<T>::Find(const T* anEntry) const
  1091. #line 3542
  1092. { return RPointerArrayBase::Find(anEntry); }
  1093. template <class T>
  1094. inline TInt RPointerArray<T>::Find(const T* anEntry, TIdentityRelation<T> anIdentity) const
  1095. #line 3566
  1096. { return RPointerArrayBase::Find(anEntry,anIdentity); }
  1097. template <class T>
  1098. inline TInt RPointerArray<T>::FindInAddressOrder(const T* anEntry) const
  1099. #line 3584
  1100. { return RPointerArrayBase::FindIsqUnsigned((TUint)anEntry); }
  1101. template <class T>
  1102. inline TInt RPointerArray<T>::FindInOrder(const T* anEntry, TLinearOrder<T> anOrder) const
  1103. #line 3606
  1104. { return RPointerArrayBase::FindIsq(anEntry,anOrder); }
  1105. template <class T>
  1106. inline TInt RPointerArray<T>::FindInAddressOrder(const T* anEntry, TInt& anIndex) const
  1107. #line 3631
  1108. { return RPointerArrayBase::BinarySearchUnsigned((TUint)anEntry,anIndex); }
  1109. template <class T>
  1110. inline TInt RPointerArray<T>::FindInOrder(const T* anEntry, TInt& anIndex, TLinearOrder<T> anOrder) const
  1111. #line 3660
  1112. { return RPointerArrayBase::BinarySearch(anEntry,anIndex,anOrder); }
  1113. template <class T>
  1114. inline TInt RPointerArray<T>::SpecificFindInAddressOrder(const T* anEntry, TInt aMode) const
  1115. #line 3691
  1116. { return RPointerArrayBase::FindIsqUnsigned((TUint)anEntry, aMode); }
  1117. template <class T>
  1118. inline TInt RPointerArray<T>::SpecificFindInOrder(const T* anEntry, TLinearOrder<T> anOrder, TInt aMode) const
  1119. #line 3726
  1120. { return RPointerArrayBase::FindIsq(anEntry,anOrder,aMode); }
  1121. template <class T>
  1122. inline TInt RPointerArray<T>::SpecificFindInAddressOrder(const T* anEntry, TInt& anIndex, TInt aMode) const
  1123. #line 3766
  1124. { return RPointerArrayBase::BinarySearchUnsigned((TUint)anEntry,anIndex,aMode); }
  1125. template <class T>
  1126. inline TInt RPointerArray<T>::SpecificFindInOrder(const T* anEntry, TInt& anIndex, TLinearOrder<T> anOrder, TInt aMode) const
  1127. #line 3810
  1128. { return RPointerArrayBase::BinarySearch(anEntry,anIndex,anOrder,aMode); }
  1129. template <class T>
  1130. inline TInt RPointerArray<T>::InsertInAddressOrder(const T* anEntry)
  1131. #line 3833
  1132. { return RPointerArrayBase::InsertIsqUnsigned((TUint)anEntry,EFalse); }
  1133. template <class T>
  1134. inline TInt RPointerArray<T>::InsertInOrder(const T* anEntry, TLinearOrder<T> anOrder)
  1135. #line 3862
  1136. { return RPointerArrayBase::InsertIsq(anEntry,anOrder,EFalse); }
  1137. template <class T>
  1138. inline TInt RPointerArray<T>::InsertInAddressOrderAllowRepeats(const T* anEntry)
  1139. #line 3885
  1140. { return RPointerArrayBase::InsertIsqUnsigned((TUint)anEntry,ETrue); }
  1141. template <class T>
  1142. inline TInt RPointerArray<T>::InsertInOrderAllowRepeats(const T* anEntry, TLinearOrder<T> anOrder)
  1143. #line 3911
  1144. { return RPointerArrayBase::InsertIsq(anEntry,anOrder,ETrue); }
  1145. template <class T>
  1146. inline RPointerArray<T>::RPointerArray(T** aEntries, TInt aCount)
  1147. : RPointerArrayBase((TAny **)aEntries, aCount)
  1148. #line 3935
  1149. {}
  1150. template <class T>
  1151. inline void RPointerArray<T>::GranularCompress()
  1152. #line 3950
  1153. {RPointerArrayBase::GranularCompress();}
  1154. template <class T>
  1155. inline TInt RPointerArray<T>::Reserve(TInt aCount)
  1156. #line 3969
  1157. { return RPointerArrayBase::DoReserve(aCount); }
  1158. template <class T>
  1159. inline void RPointerArray<T>::SortIntoAddressOrder()
  1160. { HeapSortUnsigned(); }
  1161. template <class T>
  1162. inline void RPointerArray<T>::Sort(TLinearOrder<T> anOrder)
  1163. #line 3996
  1164. { HeapSort(anOrder); }
  1165. template <class T>
  1166. inline TArray<T*> RPointerArray<T>::Array() const
  1167. { return TArray<T*>(GetCount,GetElementPtr,(const CBase*)this); }
  1168. template <class T>
  1169. void RPointerArray<T>::ResetAndDestroy()
  1170. #line 4026
  1171. {
  1172. TInt c=Count();
  1173. T** pE=(T**)Entries();
  1174. ZeroCount();
  1175. TInt i;
  1176. for (i=0; i<c; i++)
  1177. {
  1178. delete *pE;
  1179. pE++;
  1180. }
  1181. Reset();
  1182. }
  1183. #line 4049
  1184. inline RPointerArray<TAny>::RPointerArray()
  1185. : RPointerArrayBase()
  1186. {}
  1187. #line 4067
  1188. inline RPointerArray<TAny>::RPointerArray(TInt aGranularity)
  1189. : RPointerArrayBase(aGranularity)
  1190. {}
  1191. #line 4089
  1192. inline RPointerArray<TAny>::RPointerArray(TInt aMinGrowBy, TInt aFactor)
  1193. : RPointerArrayBase(aMinGrowBy, aFactor)
  1194. {}
  1195. inline void RPointerArray<TAny>::Close()
  1196. #line 4105
  1197. {RPointerArrayBase::Close();}
  1198. inline TInt RPointerArray<TAny>::Count() const
  1199. { return RPointerArrayBase::Count(); }
  1200. inline TAny* const& RPointerArray<TAny>::operator[](TInt anIndex) const
  1201. #line 4139
  1202. {return At(anIndex);}
  1203. inline TAny*& RPointerArray<TAny>::operator[](TInt anIndex)
  1204. #line 4162
  1205. {return At(anIndex);}
  1206. inline TInt RPointerArray<TAny>::Append(const TAny* anEntry)
  1207. #line 4176
  1208. { return RPointerArrayBase::Append(anEntry); }
  1209. inline TInt RPointerArray<TAny>::Insert(const TAny* anEntry, TInt aPos)
  1210. #line 4196
  1211. { return RPointerArrayBase::Insert(anEntry,aPos); }
  1212. inline void RPointerArray<TAny>::Remove(TInt anIndex)
  1213. #line 4215
  1214. {RPointerArrayBase::Remove(anIndex);}
  1215. inline void RPointerArray<TAny>::Compress()
  1216. #line 4229
  1217. {RPointerArrayBase::Compress();}
  1218. inline void RPointerArray<TAny>::Reset()
  1219. #line 4247
  1220. {RPointerArrayBase::Reset();}
  1221. inline TInt RPointerArray<TAny>::Find(const TAny* anEntry) const
  1222. #line 4266
  1223. { return RPointerArrayBase::Find(anEntry); }
  1224. inline TInt RPointerArray<TAny>::FindInAddressOrder(const TAny* anEntry) const
  1225. #line 4283
  1226. { return RPointerArrayBase::FindIsqUnsigned((TUint)anEntry); }
  1227. inline TInt RPointerArray<TAny>::FindInAddressOrder(const TAny* anEntry, TInt& anIndex) const
  1228. #line 4307
  1229. { return RPointerArrayBase::BinarySearchUnsigned((TUint)anEntry,anIndex); }
  1230. inline TInt RPointerArray<TAny>::SpecificFindInAddressOrder(const TAny* anEntry, TInt aMode) const
  1231. #line 4337
  1232. { return RPointerArrayBase::FindIsqUnsigned((TUint)anEntry, aMode); }
  1233. inline TInt RPointerArray<TAny>::SpecificFindInAddressOrder(const TAny* anEntry, TInt& anIndex, TInt aMode) const
  1234. #line 4376
  1235. { return RPointerArrayBase::BinarySearchUnsigned((TUint)anEntry,anIndex,aMode); }
  1236. inline TInt RPointerArray<TAny>::InsertInAddressOrder(const TAny* anEntry)
  1237. #line 4398
  1238. { return RPointerArrayBase::InsertIsqUnsigned((TUint)anEntry,EFalse); }
  1239. inline TInt RPointerArray<TAny>::InsertInAddressOrderAllowRepeats(const TAny* anEntry)
  1240. #line 4420
  1241. { return RPointerArrayBase::InsertIsqUnsigned((TUint)anEntry,ETrue); }
  1242. inline RPointerArray<TAny>::RPointerArray(TAny** aEntries, TInt aCount)
  1243. : RPointerArrayBase((TAny **)aEntries, aCount)
  1244. #line 4443
  1245. {}
  1246. inline void RPointerArray<TAny>::GranularCompress()
  1247. #line 4457
  1248. {RPointerArrayBase::GranularCompress();}
  1249. inline void RPointerArray<TAny>::SortIntoAddressOrder()
  1250. { HeapSortUnsigned(); }
  1251. inline TArray<TAny*> RPointerArray<TAny>::Array() const
  1252. { return TArray<TAny*>(GetCount,GetElementPtr,(const CBase*)this); }
  1253. template <class T>
  1254. inline RArray<T>::RArray()
  1255. : RArrayBase(sizeof(T))
  1256. #line 4497
  1257. {}
  1258. template <class T>
  1259. inline RArray<T>::RArray(TInt aGranularity)
  1260. : RArrayBase(sizeof(T),aGranularity)
  1261. #line 4519
  1262. {}
  1263. template <class T>
  1264. inline RArray<T>::RArray(TInt aGranularity, TInt aKeyOffset)
  1265. : RArrayBase(sizeof(T),aGranularity,aKeyOffset)
  1266. #line 4543
  1267. {}
  1268. #line 4567
  1269. template <class T>
  1270. inline RArray<T>::RArray(TInt aMinGrowBy, TInt aKeyOffset, TInt aFactor)
  1271. : RArrayBase(sizeof(T), aMinGrowBy, aKeyOffset, aFactor)
  1272. {}
  1273. template <class T>
  1274. inline void RArray<T>::Close()
  1275. {RArrayBase::Close();}
  1276. template <class T>
  1277. inline TInt RArray<T>::Count() const
  1278. {return RArrayBase::Count();}
  1279. template <class T>
  1280. inline const T& RArray<T>::operator[](TInt anIndex) const
  1281. #line 4616
  1282. {return *(const T*)At(anIndex); }
  1283. template <class T>
  1284. inline T& RArray<T>::operator[](TInt anIndex)
  1285. #line 4638
  1286. {return *(T*)At(anIndex); }
  1287. template <class T>
  1288. inline TInt RArray<T>::Append(const T& anEntry)
  1289. #line 4653
  1290. {return RArrayBase::Append(&anEntry);}
  1291. template <class T>
  1292. inline TInt RArray<T>::Insert(const T& anEntry, TInt aPos)
  1293. #line 4675
  1294. {return RArrayBase::Insert(&anEntry,aPos);}
  1295. template <class T>
  1296. inline void RArray<T>::Remove(TInt anIndex)
  1297. #line 4692
  1298. {RArrayBase::Remove(anIndex);}
  1299. template <class T>
  1300. inline void RArray<T>::Compress()
  1301. {RArrayBase::Compress();}
  1302. template <class T>
  1303. inline void RArray<T>::Reset()
  1304. #line 4721
  1305. {RArrayBase::Reset();}
  1306. template <class T>
  1307. inline TInt RArray<T>::Find(const T& anEntry) const
  1308. #line 4743
  1309. {return RArrayBase::Find(&anEntry);}
  1310. template <class T>
  1311. inline TInt RArray<T>::Find(const T& anEntry, TIdentityRelation<T> anIdentity) const
  1312. #line 4768
  1313. {return RArrayBase::Find(&anEntry,anIdentity);}
  1314. template <class T>
  1315. inline TInt RArray<T>::FindInSignedKeyOrder(const T& anEntry) const
  1316. #line 4787
  1317. {return RArrayBase::FindIsqSigned(&anEntry);}
  1318. template <class T>
  1319. inline TInt RArray<T>::FindInUnsignedKeyOrder(const T& anEntry) const
  1320. #line 4806
  1321. {return RArrayBase::FindIsqUnsigned(&anEntry);}
  1322. template <class T>
  1323. inline TInt RArray<T>::FindInOrder(const T& anEntry, TLinearOrder<T> anOrder) const
  1324. #line 4828
  1325. {return RArrayBase::FindIsq(&anEntry,anOrder);}
  1326. template <class T>
  1327. inline TInt RArray<T>::FindInSignedKeyOrder(const T& anEntry, TInt& anIndex) const
  1328. #line 4851
  1329. {return RArrayBase::BinarySearchSigned(&anEntry,anIndex);}
  1330. template <class T>
  1331. inline TInt RArray<T>::FindInUnsignedKeyOrder(const T& anEntry, TInt& anIndex) const
  1332. #line 4875
  1333. {return RArrayBase::BinarySearchUnsigned(&anEntry,anIndex);}
  1334. template <class T>
  1335. inline TInt RArray<T>::FindInOrder(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder) const
  1336. #line 4902
  1337. {return RArrayBase::BinarySearch(&anEntry,anIndex,anOrder);}
  1338. template <class T>
  1339. inline TInt RArray<T>::SpecificFindInSignedKeyOrder(const T& anEntry, TInt aMode) const
  1340. #line 4936
  1341. {return RArrayBase::FindIsqSigned(&anEntry,aMode);}
  1342. template <class T>
  1343. inline TInt RArray<T>::SpecificFindInUnsignedKeyOrder(const T& anEntry, TInt aMode) const
  1344. #line 4970
  1345. {return RArrayBase::FindIsqUnsigned(&anEntry,aMode);}
  1346. template <class T>
  1347. inline TInt RArray<T>::SpecificFindInOrder(const T& anEntry, TLinearOrder<T> anOrder, TInt aMode) const
  1348. #line 5003
  1349. {return RArrayBase::FindIsq(&anEntry,anOrder,aMode);}
  1350. template <class T>
  1351. inline TInt RArray<T>::SpecificFindInSignedKeyOrder(const T& anEntry, TInt& anIndex, TInt aMode) const
  1352. #line 5042
  1353. {return RArrayBase::BinarySearchSigned(&anEntry,anIndex,aMode);}
  1354. template <class T>
  1355. inline TInt RArray<T>::SpecificFindInUnsignedKeyOrder(const T& anEntry, TInt& anIndex, TInt aMode) const
  1356. #line 5081
  1357. {return RArrayBase::BinarySearchUnsigned(&anEntry,anIndex,aMode);}
  1358. template <class T>
  1359. inline TInt RArray<T>::SpecificFindInOrder(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder, TInt aMode) const
  1360. #line 5123
  1361. {return RArrayBase::BinarySearch(&anEntry,anIndex,anOrder,aMode);}
  1362. template <class T>
  1363. inline TInt RArray<T>::InsertInSignedKeyOrder(const T& anEntry)
  1364. #line 5146
  1365. {return RArrayBase::InsertIsqSigned(&anEntry,EFalse);}
  1366. template <class T>
  1367. inline TInt RArray<T>::InsertInUnsignedKeyOrder(const T& anEntry)
  1368. #line 5169
  1369. {return RArrayBase::InsertIsqUnsigned(&anEntry,EFalse);}
  1370. template <class T>
  1371. inline TInt RArray<T>::InsertInOrder(const T& anEntry, TLinearOrder<T> anOrder)
  1372. #line 5197
  1373. {return RArrayBase::InsertIsq(&anEntry,anOrder,EFalse);}
  1374. template <class T>
  1375. inline TInt RArray<T>::InsertInSignedKeyOrderAllowRepeats(const T& anEntry)
  1376. #line 5221
  1377. {return RArrayBase::InsertIsqSigned(&anEntry,ETrue);}
  1378. template <class T>
  1379. inline TInt RArray<T>::InsertInUnsignedKeyOrderAllowRepeats(const T& anEntry)
  1380. #line 5245
  1381. {return RArrayBase::InsertIsqUnsigned(&anEntry,ETrue);}
  1382. template <class T>
  1383. inline TInt RArray<T>::InsertInOrderAllowRepeats(const T& anEntry, TLinearOrder<T> anOrder)
  1384. #line 5272
  1385. {return RArrayBase::InsertIsq(&anEntry,anOrder,ETrue);}
  1386. template <class T>
  1387. inline RArray<T>::RArray(TInt aEntrySize,T* aEntries, TInt aCount)
  1388. : RArrayBase(aEntrySize,aEntries,aCount)
  1389. #line 5303
  1390. {}
  1391. template <class T>
  1392. inline void RArray<T>::GranularCompress()
  1393. #line 5318
  1394. {RArrayBase::GranularCompress();}
  1395. template <class T>
  1396. inline TInt RArray<T>::Reserve(TInt aCount)
  1397. #line 5337
  1398. { return RArrayBase::DoReserve(aCount); }
  1399. template <class T>
  1400. inline void RArray<T>::SortSigned()
  1401. {HeapSortSigned();}
  1402. template <class T>
  1403. inline void RArray<T>::SortUnsigned()
  1404. {HeapSortUnsigned();}
  1405. template <class T>
  1406. inline void RArray<T>::Sort(TLinearOrder<T> anOrder)
  1407. #line 5375
  1408. {HeapSort(anOrder);}
  1409. template <class T>
  1410. inline TArray<T> RArray<T>::Array() const
  1411. { return TArray<T>(GetCount,GetElementPtr,(const CBase*)this); }
  1412. inline RArray<TInt>::RArray()
  1413. : RPointerArrayBase()
  1414. {}
  1415. inline RArray<TInt>::RArray(TInt aGranularity)
  1416. : RPointerArrayBase(aGranularity)
  1417. #line 5417
  1418. {}
  1419. #line 5437
  1420. inline RArray<TInt>::RArray(TInt aMinGrowBy, TInt aFactor)
  1421. : RPointerArrayBase(aMinGrowBy, aFactor)
  1422. {}
  1423. inline void RArray<TInt>::Close()
  1424. {RPointerArrayBase::Close();}
  1425. inline TInt RArray<TInt>::Count() const
  1426. { return RPointerArrayBase::Count(); }
  1427. inline const TInt& RArray<TInt>::operator[](TInt anIndex) const
  1428. #line 5484
  1429. {return (const TInt&)At(anIndex);}
  1430. inline TInt& RArray<TInt>::operator[](TInt anIndex)
  1431. #line 5507
  1432. {return (TInt&)At(anIndex);}
  1433. inline TInt RArray<TInt>::Append(TInt anEntry)
  1434. #line 5521
  1435. { return RPointerArrayBase::Append((const TAny*)anEntry); }
  1436. inline TInt RArray<TInt>::Insert(TInt anEntry, TInt aPos)
  1437. #line 5541
  1438. { return RPointerArrayBase::Insert((const TAny*)anEntry,aPos); }
  1439. inline void RArray<TInt>::Remove(TInt anIndex)
  1440. #line 5558
  1441. {RPointerArrayBase::Remove(anIndex);}
  1442. inline void RArray<TInt>::Compress()
  1443. {RPointerArrayBase::Compress();}
  1444. inline void RArray<TInt>::Reset()
  1445. #line 5586
  1446. {RPointerArrayBase::Reset();}
  1447. inline TInt RArray<TInt>::Find(TInt anEntry) const
  1448. #line 5604
  1449. { return RPointerArrayBase::Find((const TAny*)anEntry); }
  1450. inline TInt RArray<TInt>::FindInOrder(TInt anEntry) const
  1451. #line 5621
  1452. { return RPointerArrayBase::FindIsqSigned(anEntry); }
  1453. inline TInt RArray<TInt>::FindInOrder(TInt anEntry, TInt& anIndex) const
  1454. #line 5644
  1455. { return RPointerArrayBase::BinarySearchSigned(anEntry,anIndex); }
  1456. inline TInt RArray<TInt>::SpecificFindInOrder(TInt anEntry, TInt aMode) const
  1457. #line 5675
  1458. { return RPointerArrayBase::FindIsqSigned(anEntry,aMode); }
  1459. inline TInt RArray<TInt>::SpecificFindInOrder(TInt anEntry, TInt& anIndex, TInt aMode) const
  1460. #line 5713
  1461. { return RPointerArrayBase::BinarySearchSigned(anEntry,anIndex,aMode); }
  1462. inline TInt RArray<TInt>::InsertInOrder(TInt anEntry)
  1463. #line 5735
  1464. { return RPointerArrayBase::InsertIsqSigned(anEntry,EFalse); }
  1465. inline TInt RArray<TInt>::InsertInOrderAllowRepeats(TInt anEntry)
  1466. #line 5758
  1467. { return RPointerArrayBase::InsertIsqSigned(anEntry,ETrue); }
  1468. inline RArray<TInt>::RArray(TInt* aEntries, TInt aCount)
  1469. : RPointerArrayBase((TAny**)aEntries, aCount)
  1470. #line 5781
  1471. {}
  1472. inline void RArray<TInt>::GranularCompress()
  1473. #line 5792
  1474. {RPointerArrayBase::GranularCompress();}
  1475. inline TInt RArray<TInt>::Reserve(TInt aCount)
  1476. #line 5810
  1477. { return RPointerArrayBase::DoReserve(aCount); }
  1478. inline void RArray<TInt>::Sort()
  1479. { HeapSortSigned(); }
  1480. inline TArray<TInt> RArray<TInt>::Array() const
  1481. { return TArray<TInt>(GetCount,GetElementPtr,(const CBase*)this); }
  1482. inline RArray<TUint>::RArray()
  1483. : RPointerArrayBase()
  1484. #line 5847
  1485. {}
  1486. inline RArray<TUint>::RArray(TInt aGranularity)
  1487. : RPointerArrayBase(aGranularity)
  1488. #line 5863
  1489. {}
  1490. #line 5883
  1491. inline RArray<TUint>::RArray(TInt aMinGrowBy, TInt aFactor)
  1492. : RPointerArrayBase(aMinGrowBy, aFactor)
  1493. {}
  1494. inline void RArray<TUint>::Close()
  1495. {RPointerArrayBase::Close();}
  1496. inline TInt RArray<TUint>::Count() const
  1497. {return RPointerArrayBase::Count(); }
  1498. inline const TUint& RArray<TUint>::operator[](TInt anIndex) const
  1499. #line 5930
  1500. {return (const TUint&)At(anIndex);}
  1501. inline TUint& RArray<TUint>::operator[](TInt anIndex)
  1502. #line 5953
  1503. {return (TUint&)At(anIndex);}
  1504. inline TInt RArray<TUint>::Append(TUint anEntry)
  1505. { return RPointerArrayBase::Append((const TAny*)anEntry); }
  1506. inline TInt RArray<TUint>::Insert(TUint anEntry, TInt aPos)
  1507. #line 5987
  1508. { return RPointerArrayBase::Insert((const TAny*)anEntry,aPos); }
  1509. inline void RArray<TUint>::Remove(TInt anIndex)
  1510. #line 6005
  1511. {RPointerArrayBase::Remove(anIndex);}
  1512. inline void RArray<TUint>::Compress()
  1513. {RPointerArrayBase::Compress();}
  1514. inline void RArray<TUint>::Reset()
  1515. #line 6033
  1516. {RPointerArrayBase::Reset();}
  1517. inline TInt RArray<TUint>::Find(TUint anEntry) const
  1518. #line 6051
  1519. { return RPointerArrayBase::Find((const TAny*)anEntry); }
  1520. inline TInt RArray<TUint>::FindInOrder(TUint anEntry) const
  1521. #line 6070
  1522. { return RPointerArrayBase::FindIsqUnsigned(anEntry); }
  1523. inline TInt RArray<TUint>::FindInOrder(TUint anEntry, TInt& anIndex) const
  1524. #line 6098
  1525. { return RPointerArrayBase::BinarySearchUnsigned(anEntry,anIndex); }
  1526. inline TInt RArray<TUint>::SpecificFindInOrder(TUint anEntry, TInt aMode) const
  1527. #line 6128
  1528. { return RPointerArrayBase::FindIsqUnsigned(anEntry,aMode); }
  1529. inline TInt RArray<TUint>::SpecificFindInOrder(TUint anEntry, TInt& anIndex, TInt aMode) const
  1530. #line 6163
  1531. { return RPointerArrayBase::BinarySearchUnsigned(anEntry,anIndex,aMode); }
  1532. inline TInt RArray<TUint>::InsertInOrder(TUint anEntry)
  1533. #line 6185
  1534. { return RPointerArrayBase::InsertIsqUnsigned(anEntry,EFalse); }
  1535. inline TInt RArray<TUint>::InsertInOrderAllowRepeats(TUint anEntry)
  1536. #line 6208
  1537. { return RPointerArrayBase::InsertIsqUnsigned(anEntry,ETrue); }
  1538. inline RArray<TUint>::RArray(TUint* aEntries, TInt aCount)
  1539. : RPointerArrayBase((TAny**)aEntries, aCount)
  1540. #line 6231
  1541. {}
  1542. inline void RArray<TUint>::GranularCompress()
  1543. #line 6244
  1544. {RPointerArrayBase::GranularCompress();}
  1545. inline TInt RArray<TUint>::Reserve(TInt aCount)
  1546. #line 6262
  1547. { return RPointerArrayBase::DoReserve(aCount); }
  1548. inline void RArray<TUint>::Sort()
  1549. { HeapSortUnsigned(); }
  1550. inline TArray<TUint> RArray<TUint>::Array() const
  1551. { return TArray<TUint>(GetCount,GetElementPtr,(const CBase*)this); }
  1552. #line 6293
  1553. inline void TIpcArgs::Set(TInt,TNothing)
  1554. {}
  1555. #line 6307
  1556. inline void TIpcArgs::Set(TInt aIndex,TInt aValue)
  1557. {
  1558. iArgs[aIndex] = aValue;
  1559. iFlags |= EUnspecified<<(aIndex*KBitsPerType);
  1560. }
  1561. #line 6324
  1562. inline void TIpcArgs::Set(TInt aIndex,const TAny* aValue)
  1563. {
  1564. iArgs[aIndex] = (TInt)aValue;
  1565. iFlags |= EUnspecified<<(aIndex*KBitsPerType);
  1566. }
  1567. #line 6341
  1568. inline void TIpcArgs::Set(TInt aIndex,RHandleBase aValue)
  1569. {
  1570. iArgs[aIndex] = (TInt)aValue.Handle();
  1571. iFlags |= EHandle<<(aIndex*KBitsPerType);
  1572. }
  1573. #line 6358
  1574. inline void TIpcArgs::Set(TInt aIndex,const TDesC8* aValue)
  1575. {
  1576. iArgs[aIndex] = (TInt)aValue;
  1577. iFlags |= EDesC8<<(aIndex*KBitsPerType);
  1578. }
  1579. #line 6377
  1580. inline void TIpcArgs::Set(TInt aIndex,const TDesC16* aValue)
  1581. {
  1582. iArgs[aIndex] = (TInt)aValue;
  1583. iFlags |= EDesC16<<(aIndex*KBitsPerType);
  1584. }
  1585. #line 6396
  1586. inline void TIpcArgs::Set(TInt aIndex,TDes8* aValue)
  1587. {
  1588. iArgs[aIndex] = (TInt)aValue;
  1589. iFlags |= EDes8<<(aIndex*KBitsPerType);
  1590. }
  1591. #line 6415
  1592. inline void TIpcArgs::Set(TInt aIndex,TDes16* aValue)
  1593. {
  1594. iArgs[aIndex] = (TInt)aValue;
  1595. iFlags |= EDes16<<(aIndex*KBitsPerType);
  1596. }
  1597. inline TIpcArgs::TArgType TIpcArgs::Type(TNothing)
  1598. { return EUnspecified; }
  1599. inline TIpcArgs::TArgType TIpcArgs::Type(TInt)
  1600. { return EUnspecified; }
  1601. inline TIpcArgs::TArgType TIpcArgs::Type(const TAny*)
  1602. { return EUnspecified; }
  1603. inline TIpcArgs::TArgType TIpcArgs::Type(RHandleBase)
  1604. { return EHandle; }
  1605. inline TIpcArgs::TArgType TIpcArgs::Type(const TDesC8*)
  1606. { return EDesC8; }
  1607. inline TIpcArgs::TArgType TIpcArgs::Type(const TDesC16*)
  1608. { return EDesC16; }
  1609. inline TIpcArgs::TArgType TIpcArgs::Type(TDes8*)
  1610. { return EDes8; }
  1611. inline TIpcArgs::TArgType TIpcArgs::Type(TDes16*)
  1612. { return EDes16; }
  1613. inline void TIpcArgs::Assign(TInt&,TIpcArgs::TNothing)
  1614. {}
  1615. inline void TIpcArgs::Assign(TInt& aArg,TInt aValue)
  1616. { aArg = aValue; }
  1617. inline void TIpcArgs::Assign(TInt& aArg,const TAny* aValue)
  1618. { aArg = (TInt)aValue; }
  1619. inline void TIpcArgs::Assign(TInt& aArg,RHandleBase aValue)
  1620. { aArg = (TInt)aValue.Handle(); }
  1621. inline void TIpcArgs::Assign(TInt& aArg,const TDesC8* aValue)
  1622. { aArg = (TInt)aValue; }
  1623. inline void TIpcArgs::Assign(TInt& aArg,const TDesC16* aValue)
  1624. { aArg = (TInt)aValue; }
  1625. inline void TIpcArgs::Assign(TInt& aArg,TDes8* aValue)
  1626. { aArg = (TInt)aValue; }
  1627. inline void TIpcArgs::Assign(TInt& aArg,TDes16* aValue)
  1628. { aArg = (TInt)aValue; }
  1629. inline SInt64::SInt64()
  1630. {}
  1631. inline SInt64::SInt64(Int64 a)
  1632. {
  1633. iData[0] = (TUint32)((Uint64)a);
  1634. iData[1] = (TUint32)(((Uint64)a)>>32);
  1635. }
  1636. inline SInt64& SInt64::operator=(Int64 a)
  1637. {
  1638. iData[0] = (TUint32)((Uint64)a);
  1639. iData[1] = (TUint32)(((Uint64)a)>>32);
  1640. return *this;
  1641. }
  1642. inline SInt64::operator Int64() const
  1643. {
  1644. Int64 x;
  1645. TUint32* px = (TUint32*)&x;
  1646. px[0] = iData[0];
  1647. px[1] = iData[1];
  1648. return x;
  1649. }
  1650. inline SUint64::SUint64()
  1651. {}
  1652. inline SUint64::SUint64(Uint64 a)
  1653. {
  1654. iData[0] = (TUint32)a;
  1655. iData[1] = (TUint32)(a>>32);
  1656. }
  1657. inline SUint64& SUint64::operator=(Uint64 a)
  1658. {
  1659. iData[0] = (TUint32)a;
  1660. iData[1] = (TUint32)(a>>32);
  1661. return *this;
  1662. }
  1663. inline SUint64::operator Uint64() const
  1664. {
  1665. Uint64 x;
  1666. TUint32* px = (TUint32*)&x;
  1667. px[0] = iData[0];
  1668. px[1] = iData[1];
  1669. return x;
  1670. }
  1671. inline SDouble::SDouble()
  1672. {}
  1673. inline SDouble::SDouble(TReal a)
  1674. {
  1675. const TUint32* pa = (const TUint32*)&a;
  1676. iData[0] = pa[0];
  1677. iData[1] = pa[1];
  1678. }
  1679. inline SDouble& SDouble::operator=(TReal a)
  1680. {
  1681. new (this) SDouble(a);
  1682. return *this;
  1683. }
  1684. inline SDouble::operator TReal() const
  1685. {
  1686. TReal x;
  1687. TUint32* px = (TUint32*)&x;
  1688. px[0] = iData[0];
  1689. px[1] = iData[1];
  1690. return x;
  1691. }
  1692. inline TSecureId::TSecureId()
  1693. {}
  1694. inline TSecureId::TSecureId(TUint32 aId)
  1695. : iId(aId) {}
  1696. inline TSecureId::operator TUint32() const
  1697. { return iId; }
  1698. inline TSecureId::TSecureId(TUid aId)
  1699. : iId(aId.iUid) {}
  1700. inline TSecureId::operator TUid() const
  1701. { return (TUid&)iId; }
  1702. inline const TSecureId* SSecureId::operator&() const
  1703. { return (const TSecureId*)this; }
  1704. inline SSecureId::operator const TSecureId&() const
  1705. { return (const TSecureId&)iId; }
  1706. inline SSecureId::operator TUint32() const
  1707. { return iId; }
  1708. inline SSecureId::operator TUid() const
  1709. { return (TUid&)iId; }
  1710. inline TVendorId::TVendorId()
  1711. {}
  1712. inline TVendorId::TVendorId(TUint32 aId)
  1713. : iId(aId) {}
  1714. inline TVendorId::operator TUint32() const
  1715. { return iId; }
  1716. inline TVendorId::TVendorId(TUid aId)
  1717. : iId(aId.iUid) {}
  1718. inline TVendorId::operator TUid() const
  1719. { return (TUid&)iId; }
  1720. inline const TVendorId* SVendorId::operator&() const
  1721. { return (const TVendorId*)this; }
  1722. inline SVendorId::operator const TVendorId&() const
  1723. { return (const TVendorId&)iId; }
  1724. inline SVendorId::operator TUint32() const
  1725. { return iId; }
  1726. inline SVendorId::operator TUid() const
  1727. { return (TUid&)iId; }
  1728. inline TCapabilitySet::TCapabilitySet()
  1729. {}
  1730. inline TCapabilitySet::TCapabilitySet(TCapability aCapability)
  1731. { new (this) TCapabilitySet(aCapability, aCapability); }
  1732. inline void TCapabilitySet::Set(TCapability aCapability)
  1733. { new (this) TCapabilitySet(aCapability, aCapability); }
  1734. inline void TCapabilitySet::Set(TCapability aCapability1, TCapability aCapability2)
  1735. { new (this) TCapabilitySet(aCapability1, aCapability2); }
  1736. inline TSecurityInfo::TSecurityInfo()
  1737. {}
  1738. inline TSecurityPolicy::TSecurityPolicy()
  1739. { new (this) TSecurityPolicy(EAlwaysFail); }
  1740. inline const TSecurityPolicy* TStaticSecurityPolicy::operator&() const
  1741. { return (const TSecurityPolicy*)this; }
  1742. inline TStaticSecurityPolicy::operator const TSecurityPolicy&() const
  1743. { return *(const TSecurityPolicy*)this; }
  1744. inline const TSecurityPolicy& TStaticSecurityPolicy::operator()() const
  1745. { return *(const TSecurityPolicy*)this; }
  1746. #line 6341 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32cmn.h" /* stack depth 4 */
  1747. #line 13 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32std.h" /* stack depth 3 */
  1748. class TFunctor
  1749. {
  1750. public:
  1751. __declspec(dllexport) virtual void operator()() =0;
  1752. };
  1753. #line 53
  1754. class TCallBack
  1755. {
  1756. public:
  1757. inline TCallBack();
  1758. inline TCallBack(TInt (*aFunction)(TAny* aPtr));
  1759. inline TCallBack(TInt (*aFunction)(TAny* aPtr),TAny* aPtr);
  1760. inline TInt CallBack() const;
  1761. public:
  1762. TInt (*iFunction)(TAny* aPtr);
  1763. TAny* iPtr;
  1764. };
  1765. #line 89
  1766. class TSglQueLink
  1767. {
  1768. public:
  1769. inline TSglQueLink() : iNext(0 )
  1770. {}
  1771. private:
  1772. __declspec(dllexport) void Enque(TSglQueLink* aLink);
  1773. public:
  1774. TSglQueLink* iNext;
  1775. friend class TSglQueBase;
  1776. };
  1777. #line 130
  1778. class TDblQueLinkBase
  1779. {
  1780. public:
  1781. inline TDblQueLinkBase() : iNext(0 )
  1782. {}
  1783. __declspec(dllexport) void Enque(TDblQueLinkBase* aLink);
  1784. __declspec(dllexport) void AddBefore(TDblQueLinkBase* aLink);
  1785. public:
  1786. TDblQueLinkBase* iNext;
  1787. TDblQueLinkBase* iPrev;
  1788. };
  1789. #line 166
  1790. class TDblQueLink : public TDblQueLinkBase
  1791. {
  1792. public:
  1793. __declspec(dllexport) void Deque();
  1794. };
  1795. #line 184
  1796. class TPriQueLink : public TDblQueLink
  1797. {
  1798. public:
  1799. TInt iPriority;
  1800. };
  1801. #line 205
  1802. class TDeltaQueLink : public TDblQueLinkBase
  1803. {
  1804. public:
  1805. TInt iDelta;
  1806. };
  1807. #line 224
  1808. class TTickCountQueLink : public TDblQueLink
  1809. {
  1810. public:
  1811. TUint iTickCount;
  1812. };
  1813. #line 248
  1814. class TSglQueBase
  1815. {
  1816. public:
  1817. __declspec(dllexport) TBool IsEmpty() const;
  1818. __declspec(dllexport) void SetOffset(TInt aOffset);
  1819. __declspec(dllexport) void Reset();
  1820. protected:
  1821. __declspec(dllexport) TSglQueBase();
  1822. __declspec(dllexport) TSglQueBase(TInt aOffset);
  1823. __declspec(dllexport) void DoAddFirst(TAny* aPtr);
  1824. __declspec(dllexport) void DoAddLast(TAny* aPtr);
  1825. __declspec(dllexport) void DoRemove(TAny* aPtr);
  1826. protected:
  1827. TSglQueLink* iHead;
  1828. TSglQueLink* iLast;
  1829. TInt iOffset;
  1830. private:
  1831. TSglQueBase(const TSglQueBase& aQue);
  1832. TSglQueBase &operator=(const TSglQueBase& aQue);
  1833. friend class TSglQueIterBase;
  1834. };
  1835. #line 296
  1836. class TDblQueBase
  1837. {
  1838. public:
  1839. __declspec(dllexport) TBool IsEmpty() const;
  1840. __declspec(dllexport) void SetOffset(TInt aOffset);
  1841. __declspec(dllexport) void Reset();
  1842. protected:
  1843. __declspec(dllexport) TDblQueBase();
  1844. __declspec(dllexport) TDblQueBase(TInt aOffset);
  1845. __declspec(dllexport) void DoAddFirst(TAny* aPtr);
  1846. __declspec(dllexport) void DoAddLast(TAny* aPtr);
  1847. __declspec(dllexport) void DoAddPriority(TAny* aPtr);
  1848. __declspec(dllexport) void __DbgTestEmpty() const;
  1849. protected:
  1850. TDblQueLink iHead;
  1851. TInt iOffset;
  1852. private:
  1853. TDblQueBase(const TDblQueBase& aQue);
  1854. TDblQueBase& operator=(const TDblQueBase& aQue);
  1855. friend class TDblQueIterBase;
  1856. };
  1857. #line 338
  1858. class TDeltaQueBase : public TDblQueBase
  1859. {
  1860. public:
  1861. __declspec(dllexport) TBool CountDown();
  1862. __declspec(dllexport) TBool CountDown(TInt aValue);
  1863. __declspec(dllexport) TBool FirstDelta(TInt& aValue);
  1864. __declspec(dllexport) void Reset();
  1865. protected:
  1866. __declspec(dllexport) TDeltaQueBase();
  1867. __declspec(dllexport) TDeltaQueBase(TInt aOffset);
  1868. __declspec(dllexport) void DoAddDelta(TAny* aPtr,TInt aDelta);
  1869. __declspec(dllexport) void DoRemove(TAny* aPtr);
  1870. __declspec(dllexport) TAny* DoRemoveFirst();
  1871. protected:
  1872. TInt* iFirstDelta;
  1873. };
  1874. #line 375
  1875. template <class T>
  1876. class TSglQue : public TSglQueBase
  1877. {
  1878. public:
  1879. inline TSglQue();
  1880. inline explicit TSglQue(TInt aOffset);
  1881. inline void AddFirst(T& aRef);
  1882. inline void AddLast(T& aRef);
  1883. inline TBool IsFirst(const T* aPtr) const;
  1884. inline TBool IsLast(const T* aPtr) const;
  1885. inline T* First() const;
  1886. inline T* Last() const;
  1887. inline void Remove(T& aRef);
  1888. };
  1889. #line 407
  1890. template <class T>
  1891. class TDblQue : public TDblQueBase
  1892. {
  1893. public:
  1894. inline TDblQue();
  1895. inline explicit TDblQue(TInt aOffset);
  1896. inline void AddFirst(T& aRef);
  1897. inline void AddLast(T& aRef);
  1898. inline TBool IsHead(const T* aPtr) const;
  1899. inline TBool IsFirst(const T* aPtr) const;
  1900. inline TBool IsLast(const T* aPtr) const;
  1901. inline T* First() const;
  1902. inline T* Last() const;
  1903. };
  1904. #line 441
  1905. template <class T>
  1906. class TPriQue : public TDblQueBase
  1907. {
  1908. public:
  1909. inline TPriQue();
  1910. inline explicit TPriQue(TInt aOffset);
  1911. inline void Add(T& aRef);
  1912. inline TBool IsHead(const T* aPtr) const;
  1913. inline TBool IsFirst(const T* aPtr) const;
  1914. inline TBool IsLast(const T* aPtr) const;
  1915. inline T* First() const;
  1916. inline T* Last() const;
  1917. };
  1918. #line 487
  1919. template <class T>
  1920. class TDeltaQue : public TDeltaQueBase
  1921. {
  1922. public:
  1923. inline TDeltaQue();
  1924. inline explicit TDeltaQue(TInt aOffset);
  1925. inline void Add(T& aRef,TInt aDelta);
  1926. inline void Remove(T& aRef);
  1927. inline T* RemoveFirst();
  1928. };
  1929. class TTickCountQueLink;
  1930. #line 520
  1931. class TTickCountQue : public TDblQueBase
  1932. {
  1933. public:
  1934. TTickCountQue();
  1935. void Add(TTickCountQueLink& aRef);
  1936. TTickCountQueLink* First() const;
  1937. TTickCountQueLink* RemoveFirst();
  1938. TTickCountQueLink* RemoveFirst(TUint aTickCount);
  1939. };
  1940. #line 543
  1941. class TSglQueIterBase
  1942. {
  1943. public:
  1944. __declspec(dllexport) void SetToFirst();
  1945. protected:
  1946. __declspec(dllexport) TSglQueIterBase(TSglQueBase& aQue);
  1947. __declspec(dllexport) TAny* DoPostInc();
  1948. __declspec(dllexport) TAny* DoCurrent();
  1949. __declspec(dllexport) void DoSet(TAny* aLink);
  1950. protected:
  1951. TInt iOffset;
  1952. TSglQueLink* iHead;
  1953. TSglQueLink* iNext;
  1954. };
  1955. #line 571
  1956. template <class T>
  1957. class TSglQueIter : public TSglQueIterBase
  1958. {
  1959. public:
  1960. inline TSglQueIter(TSglQueBase& aQue);
  1961. inline void Set(T& aLink);
  1962. inline operator T*();
  1963. inline T* operator++(TInt);
  1964. };
  1965. #line 594
  1966. class TDblQueIterBase
  1967. {
  1968. public:
  1969. __declspec(dllexport) void SetToFirst();
  1970. __declspec(dllexport) void SetToLast();
  1971. protected:
  1972. __declspec(dllexport) TDblQueIterBase(TDblQueBase& aQue);
  1973. __declspec(dllexport) TAny* DoPostInc();
  1974. __declspec(dllexport) TAny* DoPostDec();
  1975. __declspec(dllexport) TAny* DoCurrent();
  1976. __declspec(dllexport) void DoSet(TAny* aLink);
  1977. protected:
  1978. TInt iOffset;
  1979. TDblQueLinkBase* iHead;
  1980. TDblQueLinkBase* iNext;
  1981. };
  1982. #line 635
  1983. template <class T>
  1984. class TDblQueIter : public TDblQueIterBase
  1985. {
  1986. public:
  1987. inline TDblQueIter(TDblQueBase& aQue);
  1988. inline void Set(T& aLink);
  1989. inline operator T*();
  1990. inline T* operator++(TInt);
  1991. inline T* operator--(TInt);
  1992. };
  1993. #line 660
  1994. enum TKeyCmpText
  1995. {
  1996. ECmpNormal,
  1997. #line 682
  1998. ECmpNormal8,
  1999. #line 696
  2000. ECmpNormal16,
  2001. #line 706
  2002. ECmpFolded,
  2003. #line 717
  2004. ECmpFolded8,
  2005. #line 728
  2006. ECmpFolded16,
  2007. #line 738
  2008. ECmpCollated,
  2009. #line 749
  2010. ECmpCollated8,
  2011. #line 761
  2012. ECmpCollated16
  2013. };
  2014. #line 777
  2015. enum TKeyCmpNumeric
  2016. {
  2017. ECmpTInt8=((ECmpCollated16+1)<<1),
  2018. ECmpTInt16,
  2019. ECmpTInt32,
  2020. ECmpTInt,
  2021. ECmpTUint8,
  2022. ECmpTUint16,
  2023. ECmpTUint32,
  2024. ECmpTUint,
  2025. ECmpTInt64
  2026. };
  2027. #line 856
  2028. class TKey
  2029. {
  2030. public:
  2031. inline void SetPtr(const TAny* aPtr);
  2032. __declspec(dllexport) virtual TInt Compare(TInt aLeft,TInt aRight) const;
  2033. __declspec(dllexport) virtual TAny* At(TInt anIndex) const;
  2034. protected:
  2035. __declspec(dllexport) TKey();
  2036. __declspec(dllexport) TKey(TInt aOffset,TKeyCmpText aType);
  2037. __declspec(dllexport) TKey(TInt aOffset,TKeyCmpText aType,TInt aLength);
  2038. __declspec(dllexport) TKey(TInt aOffset,TKeyCmpNumeric aType);
  2039. protected:
  2040. TInt iKeyOffset;
  2041. TInt iKeyLength;
  2042. TInt iCmpType;
  2043. const TAny* iPtr;
  2044. };
  2045. #line 890
  2046. class TSwap
  2047. {
  2048. public:
  2049. __declspec(dllexport) TSwap();
  2050. __declspec(dllexport) virtual void Swap(TInt aLeft,TInt aRight) const;
  2051. };
  2052. #line 918
  2053. class TCharF : public TChar
  2054. {
  2055. public:
  2056. inline TCharF(TUint aChar);
  2057. inline TCharF(const TChar& aChar);
  2058. inline TCharF& operator=(TUint aChar);
  2059. inline TCharF& operator=(const TChar& aChar);
  2060. };
  2061. #line 937
  2062. class TCharLC : public TChar
  2063. {
  2064. public:
  2065. inline TCharLC(TUint aChar);
  2066. inline TCharLC(const TChar& aChar);
  2067. inline TCharLC& operator=(TUint aChar);
  2068. inline TCharLC& operator=(const TChar& aChar);
  2069. };
  2070. #line 956
  2071. class TCharUC : public TChar
  2072. {
  2073. public:
  2074. inline TCharUC(TUint aChar);
  2075. inline TCharUC(const TChar& aChar);
  2076. inline TCharUC& operator=(TUint aChar);
  2077. inline TCharUC& operator=(const TChar& aChar);
  2078. };
  2079. #line 982
  2080. class TRealFormat
  2081. {
  2082. public:
  2083. __declspec(dllexport) TRealFormat();
  2084. __declspec(dllexport) TRealFormat(TInt aWidth);
  2085. __declspec(dllexport) TRealFormat(TInt aWidth,TInt aDecimalPlaces);
  2086. public:
  2087. #line 1007
  2088. TInt iType;
  2089. TInt iWidth;
  2090. #line 1025
  2091. TInt iPlaces;
  2092. #line 1038
  2093. TChar iPoint;
  2094. #line 1051
  2095. TChar iTriad;
  2096. #line 1071
  2097. TInt iTriLen;
  2098. };
  2099. #line 1089
  2100. class TLexMark8
  2101. {
  2102. public:
  2103. inline TLexMark8();
  2104. private:
  2105. inline TLexMark8(const TUint8* aString);
  2106. const TUint8* iPtr;
  2107. friend class TLex8;
  2108. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  2109. };
  2110. class TRealX;
  2111. #line 1123
  2112. class TLex8
  2113. {
  2114. public:
  2115. __declspec(dllexport) TLex8();
  2116. inline TLex8(const TUint8* aString);
  2117. inline TLex8(const TDesC8& aDes);
  2118. inline TLex8& operator=(const TUint8* aString);
  2119. inline TLex8& operator=(const TDesC8& aDes);
  2120. inline TBool Eos() const;
  2121. inline void Mark(TLexMark8& aMark) const;
  2122. inline void Mark();
  2123. __declspec(dllexport) void Inc();
  2124. __declspec(dllexport) void Inc(TInt aNumber);
  2125. __declspec(dllexport) TChar Get();
  2126. __declspec(dllexport) TChar Peek() const;
  2127. __declspec(dllexport) void UnGet();
  2128. inline void UnGetToMark();
  2129. __declspec(dllexport) void UnGetToMark(const TLexMark8 aMark);
  2130. __declspec(dllexport) void SkipSpace();
  2131. inline void SkipAndMark(TInt aNumber);
  2132. __declspec(dllexport) void SkipAndMark(TInt aNumber, TLexMark8& aMark);
  2133. inline void SkipSpaceAndMark();
  2134. __declspec(dllexport) void SkipSpaceAndMark(TLexMark8& aMark);
  2135. __declspec(dllexport) void SkipCharacters();
  2136. inline TInt TokenLength() const;
  2137. __declspec(dllexport) TInt TokenLength(const TLexMark8 aMark) const;
  2138. __declspec(dllexport) TPtrC8 MarkedToken() const;
  2139. __declspec(dllexport) TPtrC8 MarkedToken(const TLexMark8 aMark) const;
  2140. __declspec(dllexport) TPtrC8 NextToken();
  2141. __declspec(dllexport) TPtrC8 Remainder() const;
  2142. __declspec(dllexport) TPtrC8 RemainderFromMark() const;
  2143. __declspec(dllexport) TPtrC8 RemainderFromMark(const TLexMark8 aMark) const;
  2144. __declspec(dllexport) TInt Offset() const;
  2145. inline TInt MarkedOffset() const;
  2146. __declspec(dllexport) TInt MarkedOffset(const TLexMark8 aMark) const;
  2147. __declspec(dllexport) TInt Val(TInt8& aVal);
  2148. __declspec(dllexport) TInt Val(TInt16& aVal);
  2149. __declspec(dllexport) TInt Val(TInt32& aVal);
  2150. __declspec(dllexport) TInt Val(TInt64& aVal);
  2151. inline TInt Val(TInt& aVal);
  2152. __declspec(dllexport) TInt Val(TUint8& aVal,TRadix aRadix);
  2153. __declspec(dllexport) TInt Val(TUint16& aVal,TRadix aRadix);
  2154. __declspec(dllexport) TInt Val(TUint32& aVal,TRadix aRadix);
  2155. __declspec(dllexport) TInt Val(TInt64& aVal, TRadix aRadix);
  2156. inline TInt Val(TUint& aVal,TRadix aRadix=EDecimal);
  2157. __declspec(dllexport) TInt BoundedVal(TInt32& aVal,TInt aLimit);
  2158. __declspec(dllexport) TInt BoundedVal(TInt64& aVal, const TInt64& aLimit);
  2159. __declspec(dllexport) TInt BoundedVal(TUint32& aVal,TRadix aRadix,TUint aLimit);
  2160. __declspec(dllexport) TInt BoundedVal(TInt64& aVal, TRadix aRadix, const TInt64& aLimit);
  2161. __declspec(dllexport) TInt Val(TReal32& aVal);
  2162. __declspec(dllexport) TInt Val(TReal32& aVal,TChar aPoint);
  2163. __declspec(dllexport) TInt Val(TReal64& aVal);
  2164. __declspec(dllexport) TInt Val(TReal64& aVal,TChar aPoint);
  2165. inline void Assign(const TLex8& aLex);
  2166. __declspec(dllexport) void Assign(const TUint8* aString);
  2167. __declspec(dllexport) void Assign(const TDesC8& aDes);
  2168. TInt Val(TRealX& aVal);
  2169. TInt Val(TRealX& aVal, TChar aPoint);
  2170. inline TInt Val(TInt32& aVal,TInt aLimit) { return BoundedVal(aVal,aLimit); };
  2171. inline TInt Val(TInt64& aVal,const TInt64& aLimit) { return BoundedVal(aVal,aLimit); };
  2172. inline TInt Val(TUint32& aVal,TRadix aRadix,TUint aLimit) { return BoundedVal(aVal,aRadix,aLimit); };
  2173. inline TInt Val(TInt64& aVal,TRadix aRadix,const TInt64& aLimit) { return BoundedVal(aVal,aRadix,aLimit); };
  2174. private:
  2175. void Scndig(TInt& aSig,TInt& aExp,TInt64& aDl);
  2176. void ScndigAfterPoint(TInt& aSig,TInt64& aDl);
  2177. void ValidateMark(const TLexMark8 aMark) const;
  2178. private:
  2179. const TUint8* iNext;
  2180. const TUint8* iBuf;
  2181. const TUint8* iEnd;
  2182. TLexMark8 iMark;
  2183. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  2184. };
  2185. #line 1220
  2186. class TLexMark16
  2187. {
  2188. public:
  2189. inline TLexMark16();
  2190. private:
  2191. inline TLexMark16(const TUint16* aString);
  2192. const TUint16* iPtr;
  2193. friend class TLex16;
  2194. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  2195. };
  2196. #line 1253
  2197. class TLex16
  2198. {
  2199. public:
  2200. __declspec(dllexport) TLex16();
  2201. inline TLex16(const TUint16* aString);
  2202. inline TLex16(const TDesC16& aDes);
  2203. inline TLex16& operator=(const TUint16* aString);
  2204. inline TLex16& operator=(const TDesC16& aDes);
  2205. inline TBool Eos() const;
  2206. inline void Mark();
  2207. inline void Mark(TLexMark16& aMark) const;
  2208. __declspec(dllexport) void Inc();
  2209. __declspec(dllexport) void Inc(TInt aNumber);
  2210. __declspec(dllexport) TChar Get();
  2211. __declspec(dllexport) TChar Peek() const;
  2212. __declspec(dllexport) void UnGet();
  2213. inline void UnGetToMark();
  2214. __declspec(dllexport) void UnGetToMark(const TLexMark16 aMark);
  2215. __declspec(dllexport) void SkipSpace();
  2216. inline void SkipAndMark(TInt aNumber);
  2217. __declspec(dllexport) void SkipAndMark(TInt aNumber, TLexMark16& aMark);
  2218. __declspec(dllexport) void SkipSpaceAndMark(TLexMark16& aMark);
  2219. inline void SkipSpaceAndMark();
  2220. __declspec(dllexport) void SkipCharacters();
  2221. inline TInt TokenLength() const;
  2222. __declspec(dllexport) TInt TokenLength(const TLexMark16 aMark) const;
  2223. __declspec(dllexport) TPtrC16 MarkedToken() const;
  2224. __declspec(dllexport) TPtrC16 MarkedToken(const TLexMark16 aMark) const;
  2225. __declspec(dllexport) TPtrC16 NextToken();
  2226. __declspec(dllexport) TPtrC16 Remainder() const;
  2227. __declspec(dllexport) TPtrC16 RemainderFromMark() const;
  2228. __declspec(dllexport) TPtrC16 RemainderFromMark(const TLexMark16 aMark) const;
  2229. __declspec(dllexport) TInt Offset() const;
  2230. inline TInt MarkedOffset() const;
  2231. __declspec(dllexport) TInt MarkedOffset(const TLexMark16 aMark) const;
  2232. __declspec(dllexport) TInt Val(TInt8& aVal);
  2233. __declspec(dllexport) TInt Val(TInt16& aVal);
  2234. __declspec(dllexport) TInt Val(TInt32& aVal);
  2235. __declspec(dllexport) TInt Val(TInt64& aVal);
  2236. inline TInt Val(TInt& aVal);
  2237. __declspec(dllexport) TInt Val(TUint8& aVal,TRadix aRadix);
  2238. __declspec(dllexport) TInt Val(TUint16& aVal,TRadix aRadix);
  2239. __declspec(dllexport) TInt Val(TUint32& aVal,TRadix aRadix);
  2240. __declspec(dllexport) TInt Val(TInt64& aVal, TRadix aRadix);
  2241. inline TInt Val(TUint& aVal,TRadix aRadix=EDecimal);
  2242. __declspec(dllexport) TInt BoundedVal(TInt32& aVal,TInt aLimit);
  2243. __declspec(dllexport) TInt BoundedVal(TInt64& aVal, const TInt64& aLimit);
  2244. __declspec(dllexport) TInt BoundedVal(TUint32& aVal,TRadix aRadix,TUint aLimit);
  2245. __declspec(dllexport) TInt BoundedVal(TInt64& aVal, TRadix aRadix, const TInt64& aLimit);
  2246. __declspec(dllexport) TInt Val(TReal32& aVal);
  2247. __declspec(dllexport) TInt Val(TReal32& aVal,TChar aPoint);
  2248. __declspec(dllexport) TInt Val(TReal64& aVal);
  2249. __declspec(dllexport) TInt Val(TReal64& aVal,TChar aPoint);
  2250. inline void Assign(const TLex16& aLex);
  2251. __declspec(dllexport) void Assign(const TUint16* aString);
  2252. __declspec(dllexport) void Assign(const TDesC16& aDes);
  2253. TInt Val(TRealX& aVal);
  2254. TInt Val(TRealX& aVal, TChar aPoint);
  2255. inline TInt Val(TInt32& aVal,TInt aLimit) { return BoundedVal(aVal,aLimit); };
  2256. inline TInt Val(TInt64& aVal,const TInt64& aLimit) { return BoundedVal(aVal,aLimit); };
  2257. inline TInt Val(TUint32& aVal,TRadix aRadix,TUint aLimit) { return BoundedVal(aVal,aRadix,aLimit); };
  2258. inline TInt Val(TInt64& aVal,TRadix aRadix,const TInt64& aLimit) { return BoundedVal(aVal,aRadix,aLimit); };
  2259. private:
  2260. void Scndig(TInt& aSig,TInt& aExp,TInt64& aDl);
  2261. void ValidateMark(const TLexMark16 aMark) const;
  2262. private:
  2263. const TUint16* iNext;
  2264. const TUint16* iBuf;
  2265. const TUint16* iEnd;
  2266. TLexMark16 iMark;
  2267. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  2268. };
  2269. #line 1355
  2270. typedef TLex16 TLex;
  2271. #line 1373
  2272. typedef TLexMark16 TLexMark;
  2273. #line 1430
  2274. class TCheckedUid
  2275. {
  2276. public:
  2277. __declspec(dllexport) TCheckedUid();
  2278. __declspec(dllexport) TCheckedUid(const TUidType& aUidType);
  2279. __declspec(dllexport) TCheckedUid(const TDesC8& aPtr);
  2280. __declspec(dllexport) void Set(const TUidType& aUidType);
  2281. __declspec(dllexport) void Set(const TDesC8& aPtr);
  2282. __declspec(dllexport) TPtrC8 Des() const;
  2283. inline const TUidType& UidType() const;
  2284. protected:
  2285. __declspec(dllexport) TUint Check() const;
  2286. private:
  2287. TUidType iType;
  2288. TUint iCheck;
  2289. };
  2290. #line 1469
  2291. class TDateTime
  2292. {
  2293. public:
  2294. inline TDateTime();
  2295. __declspec(dllexport) TDateTime(TInt aYear,TMonth aMonth,TInt aDay,TInt aHour,TInt aMinute, TInt aSecond,TInt aMicroSecond);
  2296. __declspec(dllexport) TInt Set(TInt aYear,TMonth aMonth,TInt aDay,TInt aHour,TInt aMinute, TInt aSecond,TInt aMicroSecond);
  2297. __declspec(dllexport) TInt SetYear(TInt aYear);
  2298. __declspec(dllexport) TInt SetYearLeapCheck(TInt aYear);
  2299. __declspec(dllexport) TInt SetMonth(TMonth aMonth);
  2300. __declspec(dllexport) TInt SetDay(TInt aDay);
  2301. __declspec(dllexport) TInt SetHour(TInt aHour);
  2302. __declspec(dllexport) TInt SetMinute(TInt aMinute);
  2303. __declspec(dllexport) TInt SetSecond(TInt aSecond);
  2304. __declspec(dllexport) TInt SetMicroSecond(TInt aMicroSecond);
  2305. inline TInt Year() const;
  2306. inline TMonth Month() const;
  2307. inline TInt Day() const;
  2308. inline TInt Hour() const;
  2309. inline TInt Minute() const;
  2310. inline TInt Second() const;
  2311. inline TInt MicroSecond() const;
  2312. private:
  2313. TInt iYear;
  2314. TMonth iMonth;
  2315. TInt iDay;
  2316. TInt iHour;
  2317. TInt iMinute;
  2318. TInt iSecond;
  2319. TInt iMicroSecond;
  2320. };
  2321. #line 1516
  2322. class TTimeIntervalMicroSeconds
  2323. {
  2324. public:
  2325. inline TTimeIntervalMicroSeconds();
  2326. inline TTimeIntervalMicroSeconds(const TInt64& aInterval);
  2327. inline TTimeIntervalMicroSeconds& operator=(const TInt64& aInterval);
  2328. inline TBool operator==(const TTimeIntervalMicroSeconds& aInterval) const;
  2329. inline TBool operator!=(const TTimeIntervalMicroSeconds& aInterval) const;
  2330. inline TBool operator>=(const TTimeIntervalMicroSeconds& aInterval) const;
  2331. inline TBool operator<=(const TTimeIntervalMicroSeconds& aInterval) const;
  2332. inline TBool operator>(const TTimeIntervalMicroSeconds& aInterval) const;
  2333. inline TBool operator<(const TTimeIntervalMicroSeconds& aInterval) const;
  2334. inline const TInt64& Int64() const;
  2335. private:
  2336. TInt64 iInterval;
  2337. };
  2338. #line 1554
  2339. class TTimeIntervalBase
  2340. {
  2341. public:
  2342. inline TBool operator==(TTimeIntervalBase aInterval) const;
  2343. inline TBool operator!=(TTimeIntervalBase aInterval) const;
  2344. inline TBool operator>=(TTimeIntervalBase aInterval) const;
  2345. inline TBool operator<=(TTimeIntervalBase aInterval) const;
  2346. inline TBool operator>(TTimeIntervalBase aInterval) const;
  2347. inline TBool operator<(TTimeIntervalBase aInterval) const;
  2348. inline TInt Int() const;
  2349. protected:
  2350. inline TTimeIntervalBase();
  2351. inline TTimeIntervalBase(TInt aInterval);
  2352. protected:
  2353. TInt iInterval;
  2354. };
  2355. #line 1583
  2356. class TTimeIntervalMicroSeconds32 : public TTimeIntervalBase
  2357. {
  2358. public:
  2359. inline TTimeIntervalMicroSeconds32();
  2360. inline TTimeIntervalMicroSeconds32(TInt aInterval);
  2361. inline TTimeIntervalMicroSeconds32& operator=(TInt aInterval);
  2362. };
  2363. #line 1606
  2364. class TTimeIntervalSeconds : public TTimeIntervalBase
  2365. {
  2366. public:
  2367. inline TTimeIntervalSeconds();
  2368. inline TTimeIntervalSeconds(TInt aInterval);
  2369. inline TTimeIntervalSeconds& operator=(TInt aInterval);
  2370. };
  2371. #line 1626
  2372. class TTimeIntervalMinutes : public TTimeIntervalBase
  2373. {
  2374. public:
  2375. inline TTimeIntervalMinutes();
  2376. inline TTimeIntervalMinutes(TInt aInterval);
  2377. inline TTimeIntervalMinutes& operator=(TInt aInterval);
  2378. };
  2379. #line 1646
  2380. class TTimeIntervalHours : public TTimeIntervalBase
  2381. {
  2382. public:
  2383. inline TTimeIntervalHours();
  2384. inline TTimeIntervalHours(TInt aInterval);
  2385. inline TTimeIntervalHours& operator=(TInt aInterval);
  2386. };
  2387. #line 1666
  2388. class TTimeIntervalDays : public TTimeIntervalBase
  2389. {
  2390. public:
  2391. inline TTimeIntervalDays();
  2392. inline TTimeIntervalDays(TInt aInterval);
  2393. inline TTimeIntervalDays& operator=(TInt aInterval);
  2394. };
  2395. #line 1686
  2396. class TTimeIntervalMonths : public TTimeIntervalBase
  2397. {
  2398. public:
  2399. inline TTimeIntervalMonths();
  2400. inline TTimeIntervalMonths(TInt aInterval);
  2401. inline TTimeIntervalMonths& operator=(TInt aInterval);
  2402. };
  2403. #line 1706
  2404. class TTimeIntervalYears : public TTimeIntervalBase
  2405. {
  2406. public:
  2407. inline TTimeIntervalYears();