Libgee

From Free Software Directory
 
Jump to: navigation, search


[edit]

libgee

https://wiki.gnome.org/Projects/Libgee
Libgee is a collection library for GNOME providing GObject-based interfaces and classes for commonly used data structures.

Libgee provides the following interfaces:

    * Traversable
          o Iterable
                + Collection
                      # List
                            * BidirList
                      # Set
                            * SortedSet
                                o BidirSortedSet
                      # MultiSet
                      # Queue
                            * Deque
                + Map
                      # SortedMap
                            * BidirSortedMap
          o Iterator
                + BidirIterator
                      # BidirListIterator
                + ListIterator
                      # BidirListIterator
    * MultiMap
    * Future

The ArrayList, ArrauQueue, ConcurrentLinkedList, ConcurrentSet, HashSet, HashMap, HashMultiSet, HashMultiMap, LinkedList, PriorityQueue, TreeSet, TreeMap, TreeMultiSet, and TreeMultiMap classes provide a reasonable sample implementation of those interfaces. In addition, a set of abstract classes are provided to ease the implementation of new collections.

Around that, the API provide means to retrieve read-only views, efficient sort algorithms, simple, bi-directional or index-based mutable iterators depending on the collection type.

Libgee is written in Vala and can be used like any GObject-based C library. It's planned to provide bindings for further languages.





Licensing

License

Verified by

Verified on

Notes

Verified by

Panos Alevropoulos

Verified on

30 July 2021




Leaders and contributors

Resources and communication

Software prerequisites




Entry





"LGPL-2.1-or-later" is not in the list (ACEL, AFL-3.0, AGPL-1.0, AGPL-1.0-or-later, AGPL-3.0, AGPL-3.0-or-later, AGPL-3.0-or-later-with-exception, AGPL-3.0-with-exception, AGPLv1orlater, AGPLv3, ...) of allowed values for the "License" property.





Property "Submitted by" (as page type) with input value "{{{Submitted by}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process. "{{{Submitted date}}}" contains an extrinsic dash or other characters that are invalid for a date interpretation.








Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.