sysperfana/heapanalyser/Libraries/Engine/HeapLib/Statistics/Tracking/Base/TrackingComparisonObjects.cs
author Matti Laitinen <matti.t.laitinen@nokia.com>
Tue, 15 Jun 2010 12:47:20 +0300
changeset 8 15296fd0af4a
permissions -rw-r--r--
HeapAnalyser 1.1.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     1
/*
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     4
*
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     5
* Redistribution and use in source and binary forms, with or without
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     6
* modification, are permitted provided that the following conditions are met:
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     7
*
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     8
* - Redistributions of source code must retain the above copyright notice,
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     9
*   this list of conditions and the following disclaimer.
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    10
* - Redistributions in binary form must reproduce the above copyright notice,
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    11
*   this list of conditions and the following disclaimer in the documentation
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    12
*   and/or other materials provided with the distribution.
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    13
* - Neither the name of Nokia Corporation nor the names of its contributors
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    14
*   may be used to endorse or promote products derived from this software
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    15
*   without specific prior written permission.
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    16
*
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    18
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    20
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    21
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    22
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    23
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    24
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    25
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    26
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    27
* POSSIBILITY OF SUCH DAMAGE.
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    28
* 
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    29
* Initial Contributors:
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    30
* Nokia Corporation - initial contribution.
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    31
*
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    32
* Contributors:
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    33
*
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    34
* Description: 
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    35
*
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    36
*/
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    37
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    38
using System;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    39
using System.Collections.Generic;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    40
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    41
namespace HeapLib.Statistics.Tracking.Base
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    42
{
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    43
    public abstract class TrackingComparisonBase : IComparer<TrackingInfo>
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    44
    {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    45
        #region Constructors & destructor
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    46
        public TrackingComparisonBase( bool aAscending )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    47
        {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    48
            iAscending = aAscending;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    49
        }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    50
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    51
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    52
        #region IComparer Members
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    53
        public int Compare( TrackingInfo aLeft, TrackingInfo aRight )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    54
        {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    55
            int ret = CompareTrackingInfo( aLeft, aRight );
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    56
            //
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    57
            if	( iAscending == false )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    58
            {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    59
                ret *= -1;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    60
            }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    61
            //
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    62
            return ret;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    63
        }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    64
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    65
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    66
        #region New framework methods
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    67
        public abstract int CompareTrackingInfo( TrackingInfo aLeft, TrackingInfo aRight );
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    68
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    69
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    70
        #region Data members
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    71
        private readonly bool iAscending;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    72
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    73
    }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    74
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    75
    public class TrackingInfoSortBySymbolName : TrackingComparisonBase
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    76
    {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    77
        #region Constructors & destructor
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    78
        public TrackingInfoSortBySymbolName( bool aAscending )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    79
            : base( aAscending )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    80
        {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    81
        }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    82
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    83
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    84
        #region TrackingComparisonBase Members
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    85
        public override int CompareTrackingInfo( TrackingInfo aLeft, TrackingInfo aRight )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    86
        {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    87
            return aLeft.Symbol.Name.CompareTo( aRight.Symbol.Name );
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    88
        }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    89
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    90
    }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    91
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    92
    public class TrackingInfoSortByAssociatedCellCount : TrackingComparisonBase
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    93
    {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    94
        #region Constructors & destructor
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    95
        public TrackingInfoSortByAssociatedCellCount( bool aAscending )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    96
            : base( aAscending )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    97
        {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    98
        }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    99
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   100
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   101
        #region TrackingComparisonBase Members
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   102
        public override int CompareTrackingInfo( TrackingInfo aLeft, TrackingInfo aRight )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   103
        {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   104
            int ret = -1;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   105
            //
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   106
            if	( aLeft.AssociatedCellCount == aRight.AssociatedCellCount )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   107
            {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   108
                ret = 0;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   109
            }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   110
            else if ( aLeft.AssociatedCellCount > aRight.AssociatedCellCount )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   111
            {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   112
                ret = 1;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   113
            }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   114
            //
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   115
            return ret;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   116
        }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   117
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   118
    }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   119
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   120
    public class TrackingInfoSortByCount : TrackingComparisonBase
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   121
    {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   122
        #region Constructors & destructor
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   123
        public TrackingInfoSortByCount( bool aAscending )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   124
            : base( aAscending )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   125
        {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   126
        }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   127
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   128
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   129
        #region TrackingComparisonBase Members
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   130
        public override int CompareTrackingInfo( TrackingInfo aLeft, TrackingInfo aRight )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   131
        {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   132
            int ret = -1;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   133
            //
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   134
            if	( aLeft.Count == aRight.Count )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   135
            {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   136
                ret = 0;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   137
            }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   138
            else if ( aLeft.Count > aRight.Count )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   139
            {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   140
                ret = 1;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   141
            }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   142
            //
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   143
            return ret;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   144
        }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   145
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   146
    }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   147
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   148
    public class TrackingInfoSortByPayloadLength : TrackingComparisonBase
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   149
    {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   150
        #region Constructors & destructor
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   151
        public TrackingInfoSortByPayloadLength( bool aAscending )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   152
            : base( aAscending )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   153
        {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   154
        }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   155
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   156
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   157
        #region TrackingComparisonBase Members
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   158
        public override int CompareTrackingInfo( TrackingInfo aLeft, TrackingInfo aRight )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   159
        {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   160
            int ret = -1;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   161
            //
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   162
            if	( aLeft.PayloadLength == aRight.PayloadLength )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   163
            {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   164
                ret = 0;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   165
            }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   166
            else if ( aLeft.PayloadLength > aRight.PayloadLength )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   167
            {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   168
                ret = 1;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   169
            }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   170
            //
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   171
            return ret;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   172
        }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   173
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   174
    }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   175
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   176
    public class TrackingInfoSortByAssociatedMemory : TrackingComparisonBase
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   177
    {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   178
        #region Constructors & destructor
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   179
        public TrackingInfoSortByAssociatedMemory( bool aAscending )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   180
            : base( aAscending )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   181
        {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   182
        }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   183
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   184
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   185
        #region TrackingComparisonBase Members
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   186
        public override int CompareTrackingInfo( TrackingInfo aLeft, TrackingInfo aRight )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   187
        {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   188
            int ret = 1;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   189
            //
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   190
            if	( aLeft.AssociatedMemory < aRight.AssociatedMemory )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   191
            {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   192
                ret = -1;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   193
            }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   194
            else if ( aLeft.AssociatedMemory == aRight.AssociatedMemory )
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   195
            {
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   196
                ret = 0;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   197
            }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   198
            //
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   199
            return ret;
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   200
        }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   201
        #endregion
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   202
    }
15296fd0af4a HeapAnalyser 1.1.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   203
}