1## @file
2#  An OrderedCollectionLib instance that provides a red-black tree
3#  implementation, and allocates and releases tree nodes with
4#  MemoryAllocationLib.
5#
6#  This library instance is useful when a fast associative container is needed.
7#  Worst case time complexity is O(log n) for Find(), Next(), Prev(), Min(),
8#  Max(), Insert(), and Delete(), where "n" is the number of elements in the
9#  tree. Complete ordered traversal takes O(n) time.
10#
11#  The implementation is also useful as a fast priority queue.
12#
13#  Copyright (C) 2014, Red Hat, Inc.
14#
15#  This program and the accompanying materials are licensed and made available
16#  under the terms and conditions of the BSD License that accompanies this
17#  distribution. The full text of the license may be found at
18#  http://opensource.org/licenses/bsd-license.php.
19#
20#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
22#  IMPLIED.
23#
24##
25
26[Defines]
27  INF_VERSION                    = 0x00010005
28  BASE_NAME                      = BaseOrderedCollectionRedBlackTreeLib
29  MODULE_UNI_FILE                = BaseOrderedCollectionRedBlackTreeLib.uni
30  FILE_GUID                      = 699F73C3-0058-484C-A9E5-61189276A985
31  MODULE_TYPE                    = BASE
32  VERSION_STRING                 = 1.0
33  LIBRARY_CLASS                  = OrderedCollectionLib
34
35#
36#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
37#
38
39[Sources]
40  BaseOrderedCollectionRedBlackTreeLib.c
41
42[Packages]
43  MdePkg/MdePkg.dec
44
45[LibraryClasses]
46  DebugLib
47  MemoryAllocationLib
48
49[FeaturePcd]
50  gEfiMdePkgTokenSpaceGuid.PcdValidateOrderedCollection ## CONSUMES
51