Changes between Version 143 and Version 144 of LibrariesUnderConstruction


Ignore:
Timestamp:
Feb 18, 2011, 3:00:50 PM (12 years ago)
Author:
viboes
Comment:

Update +Interthreads + Bitfield -VariadicMacrosData

Legend:

Unmodified
Added
Removed
Modified
  • LibrariesUnderConstruction

    v143 v144  
    156156syntax with decltype with 1-liner functions that automatically repeats the
    157157same expression in both the return type and the return statement.
     158
     159---------------------------------------------------------------------------------------------------
     160== Boost.Bitfield ==
     161 * '''Author(s):''' Emile Cormier, Vicente J. Botet Escribá
     162 * '''Version:''' 0.2
     163 * '''State:''' Ready
     164 * '''Inclusion date:''' 2009 May 4
     165 * '''Last upload:''' 2009 October 15
     166 * '''Depends on:''' [#Boost.Endian Endian]
     167 * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=bitfield.zip&directory=Portability&PHPSESSID=96307fee8086c06036af42fae790b449 Boost Vault][http://svn.boost.org/svn/boost/sandbox/bitfield Boost Sandbox][http://svn.boost.org/svn/boost/sandbox/bitfield/libs/integer/doc/index.html Documentation]
     168 * '''Categories:''' Endian Portability, Integers
     169 * '''Description:'''Portable bitfields traits
     170     * a generic bitfield traits class providing generic getter and setter methods.
     171     * a BOOST_BITFIELD_DCL macro making easier the definition of the bitfield traits and the bitfield getter and setter functions.
     172
     173{{{
     174#!cpp
     175    struct X {
     176        typedef boost::ubig_32 storage_type;
     177        storage_type d0;
     178        typedef unsigned int value_type;
     179        BOOST_BITFIELD_DCL(storage_type, d0, unsigned int, d00, 0, 10);
     180        BOOST_BITFIELD_DCL(storage_type, d0, unsigned int, d01, 11, 31);
     181    };
     182}}}
     183
     184
    158185
    159186---------------------------------------------------------------------------------------------------
     
    466493 * '''Categories:''' [#Patterns Patterns]
    467494 * '''Description:''' Boost.Interfaces provides a macro-based Interface Definition Language (IDL) which can be used to define C++ class types called interfaces. An interface is a lightweight value type associated with a set of named function signatures. An interface instance can be bound at runtime to any object which implements the interface, i.e., to any object of a type with accessible non-static member functions having the same name and signature as the set of functions associated with the interface. The functions of the bound object can then be invoked through the interface instance using the “dot” operator. Binding is completely non-intrusive: the object's type need not declare any virtual functions or derive from any particular base class. 
     495
     496---------------------------------------------------------------------------------------------------
     497== Boost.!InterThreads ==
     498 * '''Author(s):''' Vicente J. Botet Escribá
     499 * '''Version:''' 0.1.3
     500 * '''State:''' Not ready. Needs to cleanup
     501 * '''Last upload:''' 2009 April 02
     502 * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=interthreads.zip&directory=Concurrent%20Programming& Boost Vault] [http://svn.boost.org/svn/boost/sandbox/interthreads Boost Sandbox] [http://svn.boost.org/svn/boost/sandbox/interthreads/libs/interthreads/doc/index.html Documentation]
     503 * '''Categories:''' [#ConcurrentProgramming Concurrent Programming]
     504 * '''Description:'''  Boost.!InterThreads extends Boost.Threads adding some features:
     505     * thread decorator: thread_decorator allows to define setup/cleanup functions which will be called only once by thread: setup before the thread function and cleanup at thread exit.
     506     * thread_decorator can now decorate a nullary function in addition to a callable function
     507     * thread specific shared pointer: this is an extension of the thread_specific_ptr providing access to this thread specific context from other threads. As it is shared the stored pointer is a shared_ptr instead of a raw one.
     508     * thread keep alive mechanism: this mechanism allows to detect threads that do not prove that they are alive by calling to the keep_alive_point regularly. When a thread is declared dead a user provided function is called, which by default will abort the program.
     509     * thread tuple: defines a thread group where the number of threads is know statically and the threads are created at construction time.
     510     * set_once: a synchronizer that allows to set a variable only once, notifying to the variable value to whatever is waiting for that.
     511     * thread_tuple_once: an extension of the boost::thread_tuple which allows to join the thread finishing the first, using for that the set_once synchronizer.
     512     * thread_group_once: an extension of the boost::thread_group which allows to join the thread finishing the first, using for that the set_once synchronizer.
     513 
     514thread_decorator and thread_specific_shared_ptr are based on the original implementation of threadalert written by Roland Schwarz.
     515
    468516
    469517---------------------------------------------------------------------------------------------------
     
    10011049The current version is locale-agnostic, but a subsystem for tailored locale behaviour may be added in the future.
    10021050
    1003 ---------------------------------------------------------------------------------------------------
    1004 == Boost.!VariadicMacrosData ==
    1005  * '''Author(s):'''  Edward Diener
    1006  * '''Version:''' 1.3
    1007  * '''State:'''
    1008  * '''Last upload:''' Feb 6, 2011
    1009  * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/variadic_macro_data Boost Sandbox]
    1010  * '''Categories:''' [#PreprocessorMetaprogramming Preprocessor Metaprogramming]
    1011  * '''Description:'''  The variadic macro data library, or VMD for short, is a library of macros which provide important functionality for variadic macros as well as integrating variadic macros with the Boost preprocessor library ( Boost PP ). It integrates with Boost PP without changing the latter library in any way.
    1012 
    1013 The functionality of the library may be summed up as:
    1014 
    1015    1. Providing the means to extract any single token from the comma-separated data which makes up variadic macro data, as well as to calculate the number of tokens.
    1016    2. Convert variadic macro data to and from Boost PP data types.
    1017    3. Enhance the tuple functionality of Boost PP by providing a means of calculating the size of a tuple as well as by providing equivalent macros to Boost PP tuple macros which do not require the size of the tuple to be explicitly passed.
    10181051
    10191052