## @file
#  An OrderedCollectionLib instance that provides a red-black tree
#  implementation, and allocates and releases tree nodes with
#  MemoryAllocationLib.
#
#  This library instance is useful when a fast associative container is needed.
#  Worst case time complexity is O(log n) for Find(), Next(), Prev(), Min(),
#  Max(), Insert(), and Delete(), where "n" is the number of elements in the
#  tree. Complete ordered traversal takes O(n) time.
#
#  The implementation is also useful as a fast priority queue.
#
#  Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
#  Copyright (C) 2014, Red Hat, Inc.
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = BaseOrderedCollectionRedBlackTreeLib
  MODULE_UNI_FILE                = BaseOrderedCollectionRedBlackTreeLib.uni
  FILE_GUID                      = 699F73C3-0058-484C-A9E5-61189276A985
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = OrderedCollectionLib

#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  BaseOrderedCollectionRedBlackTreeLib.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  DebugLib
  MemoryAllocationLib

[FeaturePcd]
  gEfiMdePkgTokenSpaceGuid.PcdValidateOrderedCollection ## CONSUMES
