Changes between Version 1 and Version 2 of LibrariesUnderConstruction
- Timestamp:
- Dec 3, 2008, 4:00:05 PM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
LibrariesUnderConstruction
v1 v2 30 30 * '''Links:''' [https://svn.boost.org/svn/boost/sandbox/chrono Boost Sandbox] 31 31 * '''Description:''' The Boost Chrono library provides: 32 33 32 * The C++0x Standard Library's time utilities, including: 34 33 * Class template duration … … 37 36 * system_clock 38 37 * monotonic_clock 39 * high_resolution_clock 40 38 * high_resolution_clock 41 39 * Class template timer, with typedefs: 42 40 * system_timer 43 41 * monotonic_timer 44 42 * high_resolution_timer 45 46 43 * Process clocks and timers: 47 44 * process_clock, capturing real, user-CPU, and system-CPU times. 48 45 * process_timer, capturing elapsed real, user-CPU, and system-CPU times. 49 46 * run_timer, convenient reporting of process_timer results. 50 51 47 * The C++0x Standard Library's compile-time rational arithmetic. 52 48 … … 58 54 * '''Last upload:'''2008 Oct 14 59 55 * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=constant_time_size.zip&directory=Containers& Boost Vault] [https://svn.boost.org/svn/boost/sandbox/constant_time_size Boost Sandbox] 60 * '''Description:''' Boost.ConstantTimeSize defines a wrapper to the stl container list giving the user the chioice for the complexity of the size function: linear time, constant time or quasi-constant. 61 56 * '''Description:''' Boost.!ConstantTimeSize defines a wrapper to the stl container list giving the user the chioice for the complexity of the size function: linear time, constant time or quasi-constant. 62 57 In future versions the library could include a similar wrapper to slist. 63 64 58 65 59 … … 81 75 * '''Links:''' [https://svn.boost.org/svn/boost/sandbox/endian Boost Sandbox] 82 76 * '''Description:''' Provides integer-like byte-holder binary types with explicit control over byte order, value type, size, and alignment. Typedefs provide easy-to-use names for common configurations. 83 84 77 These types provide portable byte-holders for integer data, independent of particular computer architectures. Use cases almost always involve I/O, either via files or network connections. Although portability is the primary motivation, these integer byte-holders may also be used to reduce memory use, file size, or network activity since they provide binary integer sizes not otherwise available. 85 78 … … 99 92 * '''State:''' Not stable 100 93 * '''Last upload:''' 2008 Nov 26 101 * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=interthreads.zip&directory=Concurrent%20Programming& Boost Vault] 102 [https://svn.boost.org/svn/boost/sandbox/interthreads Boost Sandbox] 94 * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=interthreads.zip&directory=Concurrent%20Programming& Boost Vault] [https://svn.boost.org/svn/boost/sandbox/interthreads Boost Sandbox] 103 95 * '''Description:''' Boost.!InterThreads extends Boost.Threads adding some features: 104 105 * 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. 96 * 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. 106 97 * 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. 107 98 * 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. … … 132 123 * '''Links:''' [http://boost-log.sourceforge.net Home Page] 133 124 * '''Description:''' This library aims to make logging significantly easier for the application developer. It provides a wide range of out-of-box tools, along with public interfaces ready to be used to extend the library. The main goals of the library are: 134 135 125 * Simplicity. A small example code snippet should be enough to get the feel of the library and be ready to use its basic features. 136 126 * Extensibility. A user should be able to extend functionality of the library with regard to collecting and storing information into logs. 137 127 * Performance. The library should make as least performance impact on the user's application as possible. 138 139 128 140 129 --------------------------------------------------------------------------------------------------- … … 174 163 * '''Links:''' [http://boost-extension.blogspot.com Blog] [http://redshoelace.googlepages.com/extension_reflection.zip Download] [http://svn.boost.org/svn/boost/sandbox/boost/reflection Boost Sandbox Headers] [http://svn.boost.org/svn/boost/sandbox/libs/reflection Boost Sandbox] 175 164 * '''Description:''' The goal of this library is to provide runtime reflection for C++ classes, and to allow the same across shared library boundaries. It is an offshoot of the Extension library, which provides dynamic class loading across shared libraries. 176 177 165 Boost.Reflection does not provide automatic reflection of classes. Instead, the class data must be manually reflected. This does offer some benefits however: 178 179 166 * This can result in better performance, since only the necessary functions are reflected. 180 167 * Arbitrary classes can be reflected without modification. … … 236 223 * '''Description:''' Adding sliding, dependable and cyclic accumulators to Boost.Accumulators. 237 224 The accumulator library allows to determine dependency between accumulator, but not between accumulator_sets. 238 239 225 I would like to define an accumulator_set c so when we cumulate in two others c1 and c2 accumulator_set we cumulate also in c, some thing like: 240 241 226 {{{ 242 227 #!cpp … … 256 241 assert(sum(c)==4); 257 242 }}} 258 259 243 How dependable_accumulator_set can be defined? Here follows the interfaces of such a class and the pseudo code, I've named the class dependable_accumulator_set, sorry but I have not found a shorter and better name (may be observed/listened?) 260 261 244 {{{ 262 245 #!cpp … … 284 267 operator+()(dependable_accumulator_set<T,F,W>,dependable_accumulator_set<T,F,W>); 285 268 }}} 286 287 269 In addition another variant could allow to cumulate on a sliding window, e.g. on the last N cumulated values. There is already a tail accumulator, but I don't know how to define a min_tail accumulator with the current framework. This class could behaves like: 288 289 270 {{{ 290 271 #!cpp … … 298 279 assert(min(c)==2); 299 280 }}} 300 301 281 We can state the sliding window at compile (template parameter) or run time 302 282 (constructor parameter). 303 304 283 {{{ 305 284 #!cpp … … 310 289 class sliding_accumulator_set; 311 290 }}} 312 313 291 Of course the complexity of the sliding accumulators operations is increased. 314 315 292 Another variant could be also to have a temporary accumulator that cyclically push its current value on another accumulator. 316 317 293 It will also interesting to have a sliding, dependable and cyclic accumulator set. It would be great to integrate these features on a unique class (accumulator_set?) in a clean way. 318 319 294 {{{ 320 295 #!cpp