| | 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 | |
| | 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 | |
| | 514 | thread_decorator and thread_specific_shared_ptr are based on the original implementation of threadalert written by Roland Schwarz. |
| | 515 | |
| 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. |