MdePkg: introduce OrderedCollectionLib library class

This library class provides a set of APIs to manage an ordered collection
of items:
- Init(),
- UnInit(),
- Insert(),
- Delete(),
- IsEmpty(),
- Next(),
- Prev(),
- Min(),
- Max(),
- Find(),
- UserStruct().

There are many ways to implement an ordered collection. Depending on the
frequency of the different actions, different internal implementations may
have different performance, memory overhead, or code size.

Developers can select the library instance for a platform or module in
their DSC files that meets the needs of that platform or module.

Commit-message-from: "Kinney, Michael D" <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15790 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Kinney, Michael D
2014-08-12 07:28:52 +00:00
committed by jljusten
parent 79966a6f35
commit 250e4b0db1
2 changed files with 434 additions and 0 deletions

View File

@@ -100,6 +100,9 @@
##
PrintLib|Include/Library/PrintLib.h
## @libraryclass Provides an ordered collection data structure.
OrderedCollectionLib|Include/Library/OrderedCollectionLib.h
## @libraryclass Provides services to send progress/error codes to a POST card.
PostCodeLib|Include/Library/PostCodeLib.h
@@ -1387,6 +1390,12 @@
# SwapListEntries()
gEfiMdePkgTokenSpaceGuid.PcdVerifyNodeInList|FALSE|BOOLEAN|0x00000028
## If TRUE, OrderedCollectionLib is instructed to validate the
# ORDERED_COLLECTION structure at the end of such operations (typically
# structure modifications) that justify validation of the structure for unit
# testing purposes.
gEfiMdePkgTokenSpaceGuid.PcdValidateOrderedCollection|FALSE|BOOLEAN|0x0000002a
[PcdsFixedAtBuild]
## Indicates the maximum length of unicode string
gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000|UINT32|0x00000001