Changes between Version 110 and Version 111 of LibrariesUnderConstruction


Ignore:
Timestamp:
Jun 19, 2010, 4:13:46 PM (12 years ago)
Author:
viboes
Comment:

Added Boost.Tokenmap

Legend:

Unmodified
Added
Removed
Modified
  • LibrariesUnderConstruction

    v110 v111  
    10531053 * '''Description:''' Threader/Joiner as proposed by Kevlin Henney `[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1883.pdf Preliminary Threading Library Proposal for TR2]
    10541054
     1055---------------------------------------------------------------------------------------------------
     1056== Boost.Tokenmap ==
     1057 * '''Author(s):'''  Slawomir Lisznianski
     1058 * '''Version:'''
     1059 * '''State:'''
     1060 * '''Last upload:''' 2010 April 21
     1061 * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/tokenmap Boost Sandbox] [http://svn.boost.org/svn/boost/sandbox/tokenmap/libs/tokenmap/doc/html/index.html Boost Documentation]
     1062 * '''Categories:''' [#Containers Containers], [#DataStructures Data Structures]
     1063 * '''Description:'''  A tokenmap  is a data structure that uniquely maps integer keys (called tokens) with values.
     1064
     1065Unlike typical dictionary-like containers such as std::map or boost_unordered, tokenmap generates the keys for stored values. The keys are random in appearance yet have the property of allowing the container to perform very efficient look-ups -- in the order of indexing within a C-array.
     1066
     1067tokenmaps have the following properties:
     1068
     1069 * No two tokens map to the same value; in essence, tokenmap is a perfect hash container.
     1070 * The returned tokens are stable (a token will always map to a corresponding value regardless of how the tokenmap was modified since the token was generated).
     1071 * Lookups are very efficient compared to std::map find. For example, when looking up a value in a 1,000,000-elements container, tokenamp outperforms std::map by about 30 times.
     1072
     1073
    10551074   
    10561075---------------------------------------------------------------------------------------------------
     
    15491568 * [#Boost.ITL Boost.ITL]
    15501569 * [#Boost.!LockFree Boost.LockFree]
    1551  * [#Quartets Quartets]
    15521570 * [#Boost.Monotonic Boost.Monotonic]
    15531571 * [#Boost.Persistent Boost.Persistent]
     1572 * [#Quartets Quartets]
    15541573 * [#StableVector StableVector]
     1574 * [#Boost.Tokenmap Boost.Tokenmap]
    15551575 * [#Boost.Tree Boost.Tree]
    15561576
     
    15711591 * [#Boost.Cloneable Boost.Cloneable]
    15721592 * [#Boost.Cloner Boost.Cloner]
     1593 * [#Boost.Enums Boost.Enums]
     1594 * [#Boost.EnumArray Boost.EnumArray]
     1595 * [#Boost.EnumSet Boost.EnumSet]
    15731596 * [#Boost.Fsm Boost.Fsm]
    15741597 * [#Boost.LUID Boost.LUID]
    15751598 * [#Boost.Msm Boost.Msm]
    15761599 * [#Quartets Quartets]
    1577  * [#Boost.Enums Boost.Enums]
    1578  * [#Boost.EnumArray Boost.EnumArray]
    1579  * [#Boost.EnumSet Boost.EnumSet]
    1580 
     1600 * [#Boost.Tokenmap Boost.Tokenmap]
    15811601
    15821602---------------------------------------------------------------------------------------------------
     
    15841604 * [#RTL RTL]
    15851605 * [#Boost.RDB Boost.RDB]
    1586 
    15871606
    15881607---------------------------------------------------------------------------------------------------