FbxRedBlackTree< Type, Compare, Allocator >::RecordType Class Reference


Detailed Description

template<typename Type, typename Compare, typename Allocator>
class FbxRedBlackTree< Type, Compare, Allocator >::RecordType

This class represents a node in the tree.

It contains the key, the value, and internal tree management data.

Definition at line 204 of file fbxredblacktree.h.

#include <fbxredblacktree.h>

List of all members.

Public Member Functions

ConstKeyTypeGetKey () const
ConstValueTypeGetValue () const
ValueTypeGetValue ()
const RecordTypeMinimum () const
RecordTypeMinimum ()
const RecordTypeMaximum () const
RecordTypeMaximum ()
const RecordTypePredecessor () const
RecordTypePredecessor ()
const RecordTypeSuccessor () const
RecordTypeSuccessor ()
const int GetBlackDepth ()

Friends

class FbxRedBlackTree

Member Function Documentation

ConstKeyType& GetKey ( ) const [inline]

Definition at line 207 of file fbxredblacktree.h.

{ return mData.GetKey(); }
ConstValueType& GetValue ( ) const [inline]

Definition at line 208 of file fbxredblacktree.h.

{ return mData.GetValue(); }
ValueType& GetValue ( ) [inline]

Definition at line 209 of file fbxredblacktree.h.

{ return mData.GetValue(); }
const RecordType* Minimum ( ) const [inline]

Definition at line 211 of file fbxredblacktree.h.

        {
            const RecordType* lParent = 0;
            const RecordType* lNode = this;
            while (lNode != 0)
            {
                lParent = lNode;
                lNode = lNode->mLeftChild;
            }

            return lParent;
        }
RecordType* Minimum ( ) [inline]

Definition at line 224 of file fbxredblacktree.h.

        {
            RecordType* lParent = 0;
            RecordType* lNode = this;
            while (lNode != 0)
            {
                lParent = lNode;
                lNode = lNode->mLeftChild;
            }

            return lParent;
        }
const RecordType* Maximum ( ) const [inline]

Definition at line 237 of file fbxredblacktree.h.

        {
            const RecordType* lParent = 0;
            const RecordType* lNode = this;
            while (lNode != 0)
            {
                lParent = lNode;
                lNode = lNode->mRightChild;
            }

            return lParent;
        }
RecordType* Maximum ( ) [inline]

Definition at line 250 of file fbxredblacktree.h.

        {
            RecordType* lParent = 0;
            RecordType* lNode = this;
            while (lNode != 0)
            {
                lParent = lNode;
                lNode = lNode->mRightChild;
            }

            return lParent;
        }
const RecordType* Predecessor ( ) const [inline]

Definition at line 263 of file fbxredblacktree.h.

        {
            if (mLeftChild)
            {
                return mLeftChild->Maximum();
            }
            else
            {
                const RecordType* lParent = mParent;
                const RecordType* lNode = this;

                while (lParent && lParent->mLefttChild == lNode)
                {
                    lNode = lParent;
                    lParent = lParent->mParent;
                }

                return lParent;
            }
        }
RecordType* Predecessor ( ) [inline]

Definition at line 284 of file fbxredblacktree.h.

        {
            if (mLeftChild)
            {
                return mLeftChild->Maximum();
            }
            else
            {
                RecordType* lParent = mParent;
                RecordType* lNode = this;

                while (lParent && lParent->mLeftChild == lNode)
                {
                    lNode = lParent;
                    lParent = lParent->mParent;
                }

                return lParent;
            }
        }
const RecordType* Successor ( ) const [inline]

Definition at line 305 of file fbxredblacktree.h.

        {
            if (mRightChild)
            {
                return mRightChild->Minimum();
            }
            else
            {
                const RecordType* lParent = mParent;
                const RecordType* lNode = this;

                while (lParent && lParent->mRightChild == lNode)
                {
                    lNode = lParent;
                    lParent = lParent->mParent;
                }

                return lParent;
            }
        }
RecordType* Successor ( ) [inline]

Definition at line 326 of file fbxredblacktree.h.

        {
            if (mRightChild)
            {
                return mRightChild->Minimum();
            }
            else
            {
                RecordType* lParent = mParent;
                RecordType* lNode = this;

                while (lParent && lParent->mRightChild == lNode)
                {
                    lNode = lParent;
                    lParent = lParent->mParent;
                }

                return lParent;
            }
        }
const int GetBlackDepth ( ) [inline]

Definition at line 347 of file fbxredblacktree.h.

{ return mBlackDepth; }

Friends And Related Function Documentation

friend class FbxRedBlackTree [friend]

Definition at line 374 of file fbxredblacktree.h.


The documentation for this class was generated from the following file:

FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType
FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType FbxRedBlackTree< Type, Compare, Allocator >::RecordType