1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/textandloc/textandlocutils/sortutil/src/SortUtilElaf.cpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,65 @@
1.4 +/*
1.5 +* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of the License "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description:
1.18 +*
1.19 +*/
1.20 +
1.21 +
1.22 +
1.23 +
1.24 +
1.25 +
1.26 +// INCLUDE FILES
1.27 +#include "SortUtilElaf.h"
1.28 +#include "SortUtilImpl.h"
1.29 +#include "SortUtilImplExport.h"
1.30 +
1.31 +inline TSortUtilElaf::TSortUtilElaf()
1.32 + {
1.33 + }
1.34 +
1.35 +// Only export in DLL
1.36 +EXPORT_C MSortUtil* SortUtilFactoryFunctionL()
1.37 + {
1.38 + MSortUtil* util = new (ELeave) TSortUtilElaf;
1.39 + return util;
1.40 + }
1.41 +
1.42 +TSortUtilElaf::~TSortUtilElaf()
1.43 + {
1.44 + }
1.45 +
1.46 +TInt TSortUtilElaf::CompareItems
1.47 + (const MSortKeyArray& aLhs,
1.48 + const MSortKeyArray& aRhs) const
1.49 + {
1.50 + TInt result = 0;
1.51 + TInt lhsIndex = 0;
1.52 + TInt rhsIndex = 0;
1.53 + do
1.54 + {
1.55 + const TDesC& lhsText =
1.56 + SortUtilImpl::FindNextNonEmptyKey(aLhs, ESortKeyBasic, lhsIndex);
1.57 + const TDesC& rhsText =
1.58 + SortUtilImpl::FindNextNonEmptyKey(aRhs, ESortKeyBasic, rhsIndex);
1.59 + result = lhsText.CompareC(rhsText);
1.60 + if (result != 0)
1.61 + {
1.62 + return result;
1.63 + }
1.64 + }
1.65 + while (lhsIndex <= aLhs.SortKeyCount() && rhsIndex < aRhs.SortKeyCount());
1.66 + return result;
1.67 + }
1.68 +// End of file