epoc32/include/s32std.inl
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100 (2010-03-31)
branchSymbian2
changeset 3 e1b950c65cb4
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
williamr@2
     1
// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     2
// All rights reserved.
williamr@2
     3
// This component and the accompanying materials are made available
williamr@2
     4
// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
williamr@2
     5
// which accompanies this distribution, and is available
williamr@2
     6
// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2
     7
//
williamr@2
     8
// Initial Contributors:
williamr@2
     9
// Nokia Corporation - initial contribution.
williamr@2
    10
//
williamr@2
    11
// Contributors:
williamr@2
    12
//
williamr@2
    13
// Description:
williamr@2
    14
//
williamr@2
    15
williamr@2
    16
// Class TStreamId
williamr@2
    17
inline TStreamId::TStreamId(TUint32 aValue)
williamr@2
    18
	: iVal(aValue)
williamr@2
    19
/** Constructs the object with the specified stream ID value.
williamr@2
    20
williamr@2
    21
Users of stores do not normally use this function.
williamr@2
    22
williamr@2
    23
In debug mode, the function checks that the supplied stream ID value is not 
williamr@2
    24
greater than the maximum permitted value, and raises a STORE-Store 2 panic 
williamr@2
    25
if it is. In release mode, no checking on the supplied value is done.
williamr@2
    26
williamr@2
    27
The checking of the supplied value is done by a private function implemented 
williamr@2
    28
in estor. dll. This means that in debug mode, a call is made into estor.dll, 
williamr@2
    29
but in release mode it is not.
williamr@2
    30
williamr@2
    31
@param aValue The stream ID value. */
williamr@2
    32
	{
williamr@2
    33
#if defined (_DEBUG)
williamr@2
    34
	__DbgChkRange(aValue);
williamr@2
    35
#endif
williamr@2
    36
	}
williamr@2
    37
inline TBool TStreamId::operator==(TStreamId anId) const
williamr@2
    38
/** Equality comparison operator. Use this operator to determine whether this stream 
williamr@2
    39
id is equal to the specified stream id.
williamr@2
    40
williamr@2
    41
@param anId The stream id to be compared with this stream id.
williamr@2
    42
@return True, if the stream ids are equal; false otherwise */
williamr@2
    43
	{return iVal==anId.iVal;}
williamr@2
    44
inline TBool TStreamId::operator!=(TStreamId anId) const
williamr@2
    45
/** Inequality comparison operator. Use this operator to determine whether this 
williamr@2
    46
stream id is unequal to the specified stream id.
williamr@2
    47
williamr@2
    48
@param anId The stream id to be compared with this stream id.
williamr@2
    49
@return True, if the two stream ids are unequal, false otherwise. */
williamr@2
    50
	{return iVal!=anId.iVal;}
williamr@2
    51
inline void TStreamId::ExternalizeL(RWriteStream& aStream) const
williamr@2
    52
/** Externalises an object of this class to a write stream.
williamr@2
    53
williamr@2
    54
The presence of this function means that the standard templated operator<<() 
williamr@2
    55
can be used to externalise objects of this class.
williamr@2
    56
williamr@2
    57
@param aStream Stream to which the object should be externalised. */
williamr@2
    58
	{
williamr@2
    59
#if defined (_DEBUG)
williamr@2
    60
	__DbgChkRange(iVal);
williamr@2
    61
#endif
williamr@2
    62
	aStream<<iVal;
williamr@2
    63
	}
williamr@2
    64
inline TUint32 TStreamId::Value() const
williamr@2
    65
/** Gets the stream ID value encapsulated by this object.
williamr@2
    66
williamr@2
    67
@return The stream ID value. */
williamr@2
    68
	{
williamr@2
    69
#if defined (_DEBUG)
williamr@2
    70
	__DbgChkRange(iVal);
williamr@2
    71
#endif
williamr@2
    72
	return iVal;
williamr@2
    73
	}
williamr@2
    74
williamr@2
    75
// Class RStoreWriteStream
williamr@2
    76
inline RStoreWriteStream::RStoreWriteStream(const MExternalizer<TStreamRef>& anExter)
williamr@2
    77
	: RWriteStream(anExter)
williamr@2
    78
/** Constructs an object with an externaliser. The store map CStoreMap is an example 
williamr@2
    79
of an externalizer.
williamr@2
    80
williamr@2
    81
@param anExter Specifies an externaliser */
williamr@2
    82
	{}
williamr@2
    83
williamr@2
    84
// Class TSwizzleCBase
williamr@2
    85
inline TSwizzleCBase::TSwizzleCBase(TStreamRef aRef)
williamr@2
    86
	: iPtr(aRef.Ptr())
williamr@2
    87
	{
williamr@2
    88
#if defined (_DEBUG)
williamr@2
    89
	__DbgChkRef(aRef);
williamr@2
    90
#endif
williamr@2
    91
    }
williamr@2
    92
inline TBool TSwizzleCBase::operator==(const TSwizzleCBase& aSwizzle) const
williamr@2
    93
/** Compares for equality with another swizzle.
williamr@2
    94
williamr@2
    95
Use this operator to determine whether this swizzle represents the same object 
williamr@2
    96
as that represented by the specified swizzle.
williamr@2
    97
williamr@2
    98
Both this swizzle and the specified swizzle must maintain the representation 
williamr@2
    99
of their respective objects as either pointers or stream ids.
williamr@2
   100
williamr@2
   101
If one swizzle maintains the representation of its object as a pointer while 
williamr@2
   102
the other swizzle maintains the representation of its object as a stream id, 
williamr@2
   103
the comparison is meaningless and always returns false.
williamr@2
   104
williamr@2
   105
@param aSwizzle A reference to the swizzle to be compared with this swizzle.
williamr@2
   106
@return True, if the represented objects are the same; False, otherwise. */
williamr@2
   107
	{return iPtr==aSwizzle.iPtr;}
williamr@2
   108
inline TBool TSwizzleCBase::operator==(const TAny* aPtr) const
williamr@2
   109
/** Compares for equality with an in-memory object.
williamr@2
   110
williamr@2
   111
Use this operator to determine whether this swizzle represents the same in-memory 
williamr@2
   112
object as that represented by the specified pointer.
williamr@2
   113
williamr@2
   114
This swizzle must maintain the representation of its object as a pointer. 
williamr@2
   115
If it maintains the representation of its object as a swizzle, the comparison 
williamr@2
   116
is meaningless and always returns false.
williamr@2
   117
williamr@2
   118
@param aPtr A pointer to the object to be compared with this swizzle.
williamr@2
   119
@return True, if the represented objects are the same; False, otherwise. */
williamr@2
   120
	{return iPtr==aPtr;}
williamr@2
   121
inline TBool TSwizzleCBase::operator!=(const TSwizzleCBase& aSwizzle) const
williamr@2
   122
/** Compares for inequality with another swizzle.
williamr@2
   123
williamr@2
   124
Use this operator to determine whether this swizzle represents a different 
williamr@2
   125
object to that represented by the specified swizzle.
williamr@2
   126
williamr@2
   127
Both this swizzle and the specified swizzle must maintain the representation 
williamr@2
   128
of their respective objects as either pointers or stream ids.
williamr@2
   129
williamr@2
   130
If one swizzle maintains the representation of its object as a pointer while 
williamr@2
   131
the other swizzle maintains the representation of its object as a stream id, 
williamr@2
   132
the comparison is meaningless and always returns true.
williamr@2
   133
williamr@2
   134
@param aSwizzle A reference to the swizzle to be compared with this swizzle.
williamr@2
   135
@return True, if the represented objects are not the same; False, otherwise */
williamr@2
   136
	{return iPtr!=aSwizzle.iPtr;}
williamr@2
   137
inline TBool TSwizzleCBase::operator!=(const TAny* aPtr) const
williamr@2
   138
/** Compares for inequality with an in-memory object.
williamr@2
   139
williamr@2
   140
Use this operator to determine whether this swizzle represents a different 
williamr@2
   141
in-memory object to that represented by the specified pointer.
williamr@2
   142
williamr@2
   143
This swizzle must maintain the representation of its object as a pointer. 
williamr@2
   144
If it maintains the representation of its object as a swizzle, the comparison 
williamr@2
   145
is meaningless and always returns true.
williamr@2
   146
williamr@2
   147
@param aPtr A pointer to the object to be compared with this swizzle.
williamr@2
   148
@return True, if the represented objects are not the same; False, otherwise */
williamr@2
   149
	{return iPtr!=aPtr;}
williamr@2
   150
inline TBool TSwizzleCBase::IsPtr() const
williamr@2
   151
/** Tests whether this swizzle currently represents an object as a pointer.
williamr@2
   152
williamr@2
   153
@return True, if this swizzle currently maintains the object representation 
williamr@2
   154
as a pointer; False, otherwise. Note that if the swizzle is uninitialised, 
williamr@2
   155
the value returned by this function is not defined. */
williamr@2
   156
	{return IsPtrRep(iPtr);}
williamr@2
   157
inline TBool TSwizzleCBase::IsId() const
williamr@2
   158
/** Tests whether this swizzle currently represents an object as a stream id.
williamr@2
   159
williamr@2
   160
@return True, if this swizzle currently maintains the representation of the 
williamr@2
   161
object as a stream id; False, otherwise. Note that if the swizzle is uninitialised, 
williamr@2
   162
the value returned by this function is not defined. */
williamr@2
   163
	{return IsIdRep(iPtr);}
williamr@2
   164
inline TSwizzleCBase::TSwizzleCBase(const TAny* aPtr)
williamr@2
   165
	: iPtr(aPtr)
williamr@2
   166
	{
williamr@2
   167
#if defined (_DEBUG)
williamr@2
   168
	__DbgChkPtr(aPtr);
williamr@2
   169
#endif
williamr@2
   170
    }
williamr@2
   171
inline const TAny* TSwizzleCBase::Ptr() const
williamr@2
   172
	{
williamr@2
   173
#if defined (_DEBUG)
williamr@2
   174
	__DbgChkPtr(iPtr);
williamr@2
   175
#endif
williamr@2
   176
	return iPtr;
williamr@2
   177
	}
williamr@2
   178
inline TBool operator==(const TAny* aPtr,const TSwizzleCBase& aSwizzle)
williamr@2
   179
	{return aSwizzle==aPtr;}
williamr@2
   180
inline TBool operator!=(const TAny* aPtr,const TSwizzleCBase& aSwizzle)
williamr@2
   181
	{return aSwizzle!=aPtr;}
williamr@2
   182
williamr@2
   183
// Class TSwizzleBase
williamr@2
   184
inline TSwizzleBase::TSwizzleBase(TAny* aPtr)
williamr@2
   185
	: TSwizzleCBase(aPtr)
williamr@2
   186
	{}
williamr@2
   187
inline TSwizzleBase::TSwizzleBase(TStreamId anId)
williamr@2
   188
	: TSwizzleCBase(anId)
williamr@2
   189
	{}
williamr@2
   190
inline TAny* TSwizzleBase::Ptr() const
williamr@2
   191
	{return (TAny*)TSwizzleCBase::Ptr();}
williamr@2
   192
williamr@2
   193
// Template class TSwizzle
williamr@2
   194
template <class T>
williamr@2
   195
inline TSwizzle<T>::TSwizzle(T* aPtr)
williamr@2
   196
	: TSwizzleBase(aPtr)
williamr@2
   197
/** Constructs a swizzle for a class T type object, represented by a pointer.
williamr@2
   198
williamr@2
   199
@param aPtr A pointer to a class T type object. */
williamr@2
   200
	{}
williamr@2
   201
template <class T>
williamr@2
   202
inline TSwizzle<T>::TSwizzle(TStreamId anId)
williamr@2
   203
	: TSwizzleBase(anId)
williamr@2
   204
/** Constructs a swizzle for a class T type object, represented as a stream id.
williamr@2
   205
williamr@2
   206
@param anId The id of a stream containing the external representation of a 
williamr@2
   207
class T type object. */
williamr@2
   208
	{}
williamr@2
   209
template <class T>
williamr@2
   210
inline TSwizzle<T>& TSwizzle<T>::operator=(T* aPtr)
williamr@2
   211
/** Sets this swizzle to represent the in-memory type T object, pointed to by the 
williamr@2
   212
specified T* pointer.
williamr@2
   213
williamr@2
   214
@param aPtr A pointer to an object of type T which the swizzle is to represent.
williamr@2
   215
@return A reference to this swizzle representing the object of type T. */
williamr@2
   216
	{return *this=TSwizzle<T>(aPtr);}
williamr@2
   217
template <class T>
williamr@2
   218
inline T* TSwizzle<T>::AsPtr() const
williamr@2
   219
/** Returns a pointer to the object which this swizzle represents.
williamr@2
   220
williamr@2
   221
Note that the indirect component selector operator->() can be used to access 
williamr@2
   222
members of the represented object.
williamr@2
   223
williamr@2
   224
@return A pointer to the class T type object represented by this swizzle. */
williamr@2
   225
	{return (T*)Ptr();}
williamr@2
   226
template <class T>
williamr@2
   227
inline TSwizzle<T>::operator T*() const
williamr@2
   228
	{return AsPtr();}
williamr@2
   229
template <class T>
williamr@2
   230
inline T& TSwizzle<T>::operator*() const
williamr@2
   231
/** Returns a reference to the type T object which this swizzle represents.
williamr@2
   232
williamr@2
   233
@return A reference to the type T object represented by this swizzle. */
williamr@2
   234
	{return *AsPtr();}
williamr@2
   235
template <class T>
williamr@2
   236
inline T* TSwizzle<T>::operator->() const
williamr@2
   237
/** Gives access to members of the type T object which this swizzle represents.
williamr@2
   238
williamr@2
   239
Note, use the AsPtr() member function to return a pointer to the object itself.
williamr@2
   240
williamr@2
   241
@return A pointer to the T type object; not explicitly accessible. */
williamr@2
   242
	{return AsPtr();}
williamr@2
   243
template <class T>
williamr@2
   244
inline void TSwizzle<T>::ExternalizeL(RWriteStream& aStream) const
williamr@2
   245
/** Externalises the stream id of the stream associated with this swizzle.
williamr@2
   246
williamr@2
   247
This function presupposes that: 
williamr@2
   248
williamr@2
   249
a store map, i.e. an object of type CStoreMap, has been constructed
williamr@2
   250
williamr@2
   251
the id of the stream containing the external representation of the represented 
williamr@2
   252
type T object has been bound to this swizzle and added to the store map.
williamr@2
   253
williamr@2
   254
the concrete stream referenced by aStream has been constructed, specifying 
williamr@2
   255
the store map as an externaliser.
williamr@2
   256
williamr@2
   257
The presence of this function means that the standard templated operator<<() 
williamr@2
   258
can be used.
williamr@2
   259
williamr@2
   260
@param aStream Stream to which the stream id should be externalised.
williamr@2
   261
@see CStoreMap */
williamr@2
   262
	{TSwizzleBase::DoExternalizeL(aStream,TExternalizer<T>::Function());}
williamr@2
   263
inline TSwizzle<TAny>::TSwizzle(TAny* aPtr)
williamr@2
   264
	: TSwizzleBase(aPtr)
williamr@2
   265
/** Constructs the swizzle representing the specified untyped object as a pointer.
williamr@2
   266
	
williamr@2
   267
@param aPtr A pointer to an untyped object which this swizzle is to represent. */
williamr@2
   268
	{}
williamr@2
   269
inline TSwizzle<TAny>::TSwizzle(TStreamId anId)
williamr@2
   270
	: TSwizzleBase(anId)
williamr@2
   271
/** Constructs the swizzle for an untyped object, represented as a stream id.
williamr@2
   272
	
williamr@2
   273
@param anId The id of a stream containing the external representation of the 
williamr@2
   274
	untyped object which this swizzle is to represent. */
williamr@2
   275
	{}
williamr@2
   276
inline TSwizzle<TAny>::TSwizzle(const TSwizzleBase& aSwizzle)
williamr@2
   277
	: TSwizzleBase(aSwizzle)
williamr@2
   278
/** Constructs the swizzle to represent the untyped object currently represented 
williamr@2
   279
	by the specified swizzle.
williamr@2
   280
	
williamr@2
   281
@param aSwizzle A reference to a swizzle whose representation of an object 
williamr@2
   282
	is to be copied to this swizzle */
williamr@2
   283
	{}
williamr@2
   284
inline TSwizzle<TAny>& TSwizzle<TAny>::operator=(TAny* aPtr)
williamr@2
   285
/** Sets this swizzle to represent the in-memory object, pointed to by the specified 
williamr@2
   286
	pointer.
williamr@2
   287
	
williamr@2
   288
@param aPtr A pointer to the untyped object which the swizzle is to represent.
williamr@2
   289
@return A reference to this swizzle. */
williamr@2
   290
	{return *this=TSwizzle<TAny>(aPtr);}
williamr@2
   291
inline TSwizzle<TAny>& TSwizzle<TAny>::operator=(const TSwizzleBase& aSwizzle)
williamr@2
   292
	/** Sets the swizzle to represent the untyped object currently represented by the 
williamr@2
   293
	specified swizzle.
williamr@2
   294
	
williamr@2
   295
	@param aSwizzle The swizzle whose representation of an object is to be copied 
williamr@2
   296
	to this swizzle.
williamr@2
   297
	@return A reference to this swizzle. */
williamr@2
   298
	{return *this=TSwizzle<TAny>(aSwizzle);}
williamr@2
   299
inline TAny* TSwizzle<TAny>::AsPtr() const
williamr@2
   300
/** Returns a pointer to the untyped object that this swizzle represents.
williamr@2
   301
	
williamr@2
   302
	@return A pointer to the untyped object represented by this swizzle. */
williamr@2
   303
	{return Ptr();}
williamr@2
   304
inline TSwizzle<TAny>::operator TAny*() const
williamr@2
   305
	{return AsPtr();}
williamr@2
   306
williamr@2
   307
// Template class TSwizzleC
williamr@2
   308
template <class T>
williamr@2
   309
inline TSwizzleC<T>::TSwizzleC(const T* aPtr)
williamr@2
   310
	: TSwizzleCBase(aPtr)
williamr@2
   311
/** Constructs a swizzle for a class T type object and represents the object by 
williamr@2
   312
pointer.
williamr@2
   313
williamr@2
   314
@param aPtr A pointer to a class T type object. */
williamr@2
   315
	{}
williamr@2
   316
template <class T>
williamr@2
   317
inline TSwizzleC<T>::TSwizzleC(TStreamId anId)
williamr@2
   318
	: TSwizzleCBase(anId)
williamr@2
   319
/** Constructs a swizzle for a class T type object and represents the object as 
williamr@2
   320
a stream id.
williamr@2
   321
williamr@2
   322
@param anId The stream id of a stream containing the external representation 
williamr@2
   323
of an object of type class T. */
williamr@2
   324
	{}
williamr@2
   325
template <class T>
williamr@2
   326
inline TSwizzleC<T>::TSwizzleC(TSwizzle<T> aSwizzle)
williamr@2
   327
	: TSwizzleCBase(aSwizzle)
williamr@2
   328
/** Constructs a swizzle for a class T type object that is currently represented 
williamr@2
   329
by another swizzle.
williamr@2
   330
williamr@2
   331
The representation of the class T type object is the same as its representation 
williamr@2
   332
by the specified swizzle, i.e. if the specified swizzle represents the object 
williamr@2
   333
as a pointer, then this newly constructed swizzle also represents the object 
williamr@2
   334
as a pointer.
williamr@2
   335
williamr@2
   336
@param aSwizzle The swizzle whose representation of the class T type object 
williamr@2
   337
is to be copied to this swizzle. */
williamr@2
   338
	{}
williamr@2
   339
template <class T>
williamr@2
   340
inline TSwizzleC<T>& TSwizzleC<T>::operator=(const T* aPtr)
williamr@2
   341
/** Sets this swizzle to represent the in-memory type T object, pointed to by the 
williamr@2
   342
specified T* pointer.
williamr@2
   343
williamr@2
   344
@param aPtr A pointer to an object of type T which the swizzle is to represent.
williamr@2
   345
@return A reference to this swizzle representing the object of type T.
williamr@2
   346
@see TSwizzle::operator=() */
williamr@2
   347
	{return *this=TSwizzleC<T>(aPtr);}
williamr@2
   348
template <class T>
williamr@2
   349
inline const T* TSwizzleC<T>::AsPtr() const
williamr@2
   350
/** Returns a constant pointer to the object which this swizzle represents.
williamr@2
   351
williamr@2
   352
Note:
williamr@2
   353
williamr@2
   354
The in memory object cannot be changed through this swizzle.
williamr@2
   355
williamr@2
   356
To access members of the object, the indirect component selector operator->() 
williamr@2
   357
can be used.
williamr@2
   358
williamr@2
   359
@return A const pointer to the class T type object represented by this swizzle. */
williamr@2
   360
	{return (const T*)Ptr();}
williamr@2
   361
template <class T>
williamr@2
   362
inline TSwizzleC<T>::operator const T*() const
williamr@2
   363
	{return AsPtr();}
williamr@2
   364
template <class T>
williamr@2
   365
inline const T& TSwizzleC<T>::operator*() const
williamr@2
   366
/** Returns a const reference to the type T object which this swizzle represents.
williamr@2
   367
williamr@2
   368
@return A const reference to the type T object represented by this swizzle.
williamr@2
   369
@see TSwizzle::operator*() */
williamr@2
   370
	{return *AsPtr();}
williamr@2
   371
template <class T>
williamr@2
   372
inline const T* TSwizzleC<T>::operator->() const
williamr@2
   373
/** Gives access to members of the type T object which this swizzle represents.
williamr@2
   374
williamr@2
   375
Note:
williamr@2
   376
williamr@2
   377
use the AsPtr() member function to return a pointer to the object itself.
williamr@2
   378
williamr@2
   379
the type T object cannot be changed through this operator.
williamr@2
   380
williamr@2
   381
@return A const pointer to the T type object; not explicitly accessible.
williamr@2
   382
@see TSwizzle::operator->() */
williamr@2
   383
	{return AsPtr();}
williamr@2
   384
template <class T>
williamr@2
   385
inline void TSwizzleC<T>::ExternalizeL(RWriteStream& aStream) const
williamr@2
   386
/** Externalises the stream id of the stream associated with this swizzle.
williamr@2
   387
williamr@2
   388
This function presupposes that: 
williamr@2
   389
williamr@2
   390
a store map, i.e. an object of type CStoreMap, has been constructed
williamr@2
   391
williamr@2
   392
the id of the stream containing the external representation of the <class T> 
williamr@2
   393
object has been bound to this swizzle and added to the store map.
williamr@2
   394
williamr@2
   395
the concrete stream referenced by aStream has been constructed, specifying 
williamr@2
   396
the store map as an externalizer.
williamr@2
   397
williamr@2
   398
The presence of this function means that the standard templated operator<<() 
williamr@2
   399
can be used.
williamr@2
   400
williamr@2
   401
@param aStream Stream to which the stream id should be externalised
williamr@2
   402
@see CStoreMap */
williamr@2
   403
	{TSwizzleCBase::DoExternalizeL(aStream,TExternalizer<T>::Function());}
williamr@2
   404
inline TSwizzleC<TAny>::TSwizzleC(const TAny* aPtr)
williamr@2
   405
	: TSwizzleCBase(aPtr)
williamr@2
   406
/** Constructs the swizzle representing the specified untyped object as a pointer.
williamr@2
   407
	
williamr@2
   408
@param aPtr A pointer to an untyped object which this swizzle is to represent. */
williamr@2
   409
	{}
williamr@2
   410
inline TSwizzleC<TAny>::TSwizzleC(TStreamId anId)
williamr@2
   411
	: TSwizzleCBase(anId)
williamr@2
   412
/** Constructs the swizzle for an untyped object, represented as a stream id.
williamr@2
   413
	
williamr@2
   414
@param anId The id of a stream containing the external representation of the 
williamr@2
   415
	untyped object which this swizzle is to represent. */
williamr@2
   416
	{}
williamr@2
   417
inline TSwizzleC<TAny>::TSwizzleC(const TSwizzleCBase& aSwizzle)
williamr@2
   418
	: TSwizzleCBase(aSwizzle)
williamr@2
   419
/** Constructs the swizzle to represent the untyped object currently represented 
williamr@2
   420
	by the specified swizzle.
williamr@2
   421
	
williamr@2
   422
@param aSwizzle The swizzle whose representation of an object is to be copied 
williamr@2
   423
	to this swizzle. */
williamr@2
   424
	{}
williamr@2
   425
inline TSwizzleC<TAny>::TSwizzleC(TStreamRef aRef)
williamr@2
   426
	: TSwizzleCBase(aRef)
williamr@2
   427
/** Constructs the swizzle from a stream reference.
williamr@2
   428
	
williamr@2
   429
@param aRef The stream reference. */
williamr@2
   430
 	{}
williamr@2
   431
inline TSwizzleC<TAny>& TSwizzleC<TAny>::operator=(const TAny* aPtr)
williamr@2
   432
/** Sets this swizzle to represent the specified in-memory untyped object.
williamr@2
   433
	
williamr@2
   434
@param aPtr A pointer to the untyped object that the swizzle is to represent.
williamr@2
   435
@return A reference to this swizzle representing the untyped object. */
williamr@2
   436
	{return *this=TSwizzleC<TAny>(aPtr);}
williamr@2
   437
inline TSwizzleC<TAny>& TSwizzleC<TAny>::operator=(const TSwizzleCBase& aSwizzle)
williamr@2
   438
/** Sets this swizzle to represent the untyped object currently represented by the 
williamr@2
   439
	specific swizzle.
williamr@2
   440
	
williamr@2
   441
@param aSwizzle A pointer to the untyped object that the swizzle is to represent.
williamr@2
   442
@return A reference to a swizzle whose representation of an object is to be 
williamr@2
   443
	copied to this swizzle. */
williamr@2
   444
	{return *this=TSwizzleC<TAny>(aSwizzle);}
williamr@2
   445
inline const TAny* TSwizzleC<TAny>::AsPtr() const
williamr@2
   446
/** Gets a constant pointer to the untyped object that this swizzle represents.
williamr@2
   447
	
williamr@2
   448
@return A const pointer to the untyped object represented by this swizzle. */
williamr@2
   449
	{return Ptr();}
williamr@2
   450
inline TSwizzleC<TAny>::operator const TAny*() const
williamr@2
   451
	{return AsPtr();}