williamr@2: // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@2: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: #ifndef __STRINGPOOL_INL__ williamr@2: #define __STRINGPOOL_INL__ williamr@2: williamr@2: williamr@4: #include williamr@2: williamr@2: inline RStringTokenBase::RStringTokenBase() williamr@2: : iVal(0) williamr@2: /** Default constructor. */ williamr@2: { williamr@2: } williamr@2: williamr@2: williamr@2: inline RStringTokenBase RStringTokenBase::operator=(RStringBase aVal) williamr@2: /** Assignment operator, which makes a string token from a string. williamr@2: williamr@2: @param aVal The value of the string to copy. williamr@2: @return The string token base. */ williamr@2: { williamr@2: iVal = aVal.iVal; williamr@2: return *this; williamr@2: } williamr@2: williamr@2: williamr@2: inline TBool RStringTokenBase::IsNull() const williamr@2: /** Tests if the string is null or not. williamr@2: williamr@2: @return ETrue if the string is null, otherwise EFalse. */ williamr@2: { williamr@2: return (iVal == 0); williamr@2: } williamr@2: williamr@2: williamr@2: inline TBool RStringToken::operator==(RStringToken aVal) const williamr@2: /** Equality operator. williamr@2: williamr@2: @param aVal The string to compare. williamr@2: @return ETrue if the strings are the same, otherwise EFalse. */ williamr@2: { williamr@2: return iVal == aVal.iVal; williamr@2: } williamr@2: williamr@2: williamr@2: inline TBool RStringToken::operator!=(RStringToken aVal) const williamr@2: /** Inequality operator. williamr@2: williamr@2: @param aVal The string to compare. williamr@2: @return ETrue if the strings are different, else EFalse */ williamr@2: { williamr@2: return iVal != aVal.iVal; williamr@2: } williamr@2: williamr@2: williamr@2: inline RStringToken RStringToken::operator=(RString aVal) williamr@2: /** Assignment operator, which makes a string token from a string. williamr@2: williamr@2: @param aVal The string to copy. williamr@2: @return The string token. */ williamr@2: { williamr@2: iVal = aVal.iVal; williamr@2: return *this; williamr@2: } williamr@2: williamr@2: williamr@2: inline TBool RStringTokenF::operator==(RStringTokenF aVal) const williamr@2: /** Equality operator. williamr@2: williamr@2: @param aVal The string to compare. williamr@2: @return ETrue if the strings are the same, otherwise EFalse. */ williamr@2: { williamr@2: return iVal == aVal.iVal; williamr@2: } williamr@2: williamr@2: williamr@2: inline TBool RStringTokenF::operator!=(RStringTokenF aVal) const williamr@2: /** Inequality operator. williamr@2: williamr@2: @param aVal The string to compare. williamr@2: @return ETrue if any strings are different, else EFalse */ williamr@2: { williamr@2: return iVal != aVal.iVal; williamr@2: } williamr@2: williamr@2: williamr@2: inline RStringTokenF RStringTokenF::operator=(RStringF aVal) williamr@2: /** Assignment operator that makes a string token from a string. williamr@2: williamr@2: @param aVal The string to compare. williamr@2: @return The string token. */ williamr@2: { williamr@2: iVal = aVal.iVal; williamr@2: return *this; williamr@2: } williamr@2: williamr@2: williamr@2: inline RStringBase::RStringBase() williamr@2: : iVal(0) williamr@2: /** Default constructor. */ williamr@2: { williamr@2: } williamr@2: williamr@2: /** Returns a compact string equivalent to the string */ williamr@2: inline RStringBase::operator RStringTokenBase() const williamr@2: { williamr@2: RStringTokenBase s; williamr@2: s.iVal = iVal; williamr@2: return s; williamr@2: } williamr@2: williamr@2: inline RString RString::Copy() williamr@2: /** Copies a string. williamr@2: williamr@2: Both the original and the copy must be separately closed. williamr@2: williamr@2: @return The string to copy. */ williamr@2: { williamr@2: RStringBase::Copy(); williamr@2: return *this; williamr@2: } williamr@2: williamr@2: /** Returns a compact string equivalent to the string (for case-sensitive strings) */ williamr@2: inline RString::operator RStringToken() const williamr@2: { williamr@2: RStringToken s; williamr@2: s.iVal = iVal; williamr@2: return s; williamr@2: } williamr@2: williamr@2: inline RStringF RStringF::Copy() williamr@2: /** Copies a string. williamr@2: williamr@2: Both the original and the copy must be separately closed. williamr@2: williamr@2: @return The string to copy. */ williamr@2: { williamr@2: RStringBase::Copy(); williamr@2: return *this; williamr@2: } williamr@2: williamr@2: williamr@2: inline TBool RStringF::operator==(const RStringF& aVal) const williamr@2: /** Equality operator. williamr@2: williamr@2: @param aVal The string to compare. williamr@2: @return ETrue if the strings are equal, else EFalse */ williamr@2: { williamr@2: __ASSERT_DEBUG(iPool.iImplementation==aVal.iPool.iImplementation || aVal.iVal==0 || iVal==0, StringPoolPanic::Panic(StringPoolPanic::EComparisonBetweenTwoStringPoolsNotAllowed)); williamr@2: return (iVal == aVal.iVal); williamr@2: } williamr@2: williamr@2: williamr@2: inline TBool RStringF::operator!=(const RStringF& aVal) const williamr@2: /** Inequality operator. williamr@2: williamr@2: @param aVal The string to compare. williamr@2: @return ETrue if the strings are not equal, else EFalse */ williamr@2: { williamr@2: __ASSERT_DEBUG(iPool.iImplementation==aVal.iPool.iImplementation || aVal.iVal==0 || iVal==0, StringPoolPanic::Panic(StringPoolPanic::EComparisonBetweenTwoStringPoolsNotAllowed)); williamr@2: return (iVal != aVal.iVal); williamr@2: } williamr@2: williamr@2: williamr@2: inline RStringF::operator RStringTokenF() const williamr@2: { williamr@2: RStringTokenF s; williamr@2: s.iVal = iVal; williamr@2: return s; williamr@2: } williamr@2: williamr@2: williamr@2: inline RStringPool RStringBase::Pool() const williamr@2: /** Gets the string pool. williamr@2: williamr@2: @return The string pool. */ williamr@2: { williamr@2: return iPool; williamr@2: } williamr@2: williamr@2: williamr@2: inline TBool RString::operator==(const RString& aVal) const williamr@2: /** Equality operator. williamr@2: williamr@2: @param aVal The string to compare. williamr@2: @return ETrue if the strings are equal, else EFalse */ williamr@2: { williamr@2: __ASSERT_DEBUG(iPool.iImplementation==aVal.iPool.iImplementation || aVal.iVal==0 || iVal==0, StringPoolPanic::Panic(StringPoolPanic::EComparisonBetweenTwoStringPoolsNotAllowed)); williamr@2: return (iVal == aVal.iVal); williamr@2: } williamr@2: williamr@2: williamr@2: inline TBool RString::operator!=(const RString& aVal) const williamr@2: /** Inequality operator. williamr@2: williamr@2: @param aVal The string to compare. williamr@2: @return ETrue if the strings are not equal, else EFalse */ williamr@2: { williamr@2: __ASSERT_DEBUG(iPool.iImplementation==aVal.iPool.iImplementation || aVal.iVal==0 || iVal==0, StringPoolPanic::Panic(StringPoolPanic::EComparisonBetweenTwoStringPoolsNotAllowed)); williamr@2: return (iVal != aVal.iVal); williamr@2: } williamr@2: williamr@2: inline RStringPool::RStringPool() williamr@2: : iImplementation(0) williamr@2: /** Default constructor. */ williamr@2: { williamr@2: } williamr@2: williamr@2: williamr@2: #endif // __STRINGPOOL_INL__