5 | | --------------------------------------------------------------------------------------------------- |
6 | | = Review Schedule = |
7 | | |
8 | | This section contains an index for libraries on the review schedule. |
9 | | |
10 | | |
| 5 | |
| 6 | |
| 7 | --------------------------------------------------------------------------------------------------- |
| 8 | = Ready for review = |
| 9 | |
| 10 | This section contains an index for libraries that are scheduled. |
| 11 | |
| 12 | |
| 13 | --------------------------------------------------------------------------------------------------- |
| 14 | = Date pending = |
| 15 | |
| 16 | This section contains an index of the libraries with a pending date. |
| 17 | |
| 18 | --------------------------------------------------------------------------------------------------- |
| 19 | == Boost.!AutoBuffer == |
| 20 | * '''Author(s):''' Thorsten Ottosen |
| 21 | * '''Version:''' |
| 22 | * '''State:''' |
| 23 | * '''Last upload:''' 2009 Jan 13 |
| 24 | * '''Depends on:''' |
| 25 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 26 | * Missing criteria |
| 27 | * C1 |
| 28 | * '''Pre-reviewed by :''' ??? '''people''' |
| 29 | * '''Review Manager:''' Robert Stewart |
| 30 | * '''Expected review date:''' ??? |
| 31 | * '''Links:''' [http://www.cs.aau.dk/~nesotto/boost/auto_buffer.zip Download] |
| 32 | * '''Categories:''' [#DataStructures Data Structures] |
| 33 | * '''Description:''' Boost.AutoBuffer provides a container for efficient dynamic, local buffers. Furthermore, the container may be used as an alternative to std::vector, offering greater flexibility and sometimes better performance. |
| 34 | |
| 35 | --------------------------------------------------------------------------------------------------- |
| 36 | == Boost.Lexer == |
| 37 | * '''Author(s):''' Ben Hanson |
| 38 | * '''Version:''' v0.2 |
| 39 | * '''State:''' |
| 40 | * '''Last upload:''' 2009 November 24 |
| 41 | * '''Inclusion date:''' ??? |
| 42 | * '''Depends on:''' |
| 43 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 44 | * Missing criteria |
| 45 | * C1 |
| 46 | * '''Pre-reviewed by :''' ??? '''people''' |
| 47 | * '''Review Manager:''' Eric Niebler |
| 48 | * '''Expected review date:''' ??? |
| 49 | * '''Links:''' [http://boost-consulting.com/vault/index.php?action=downloadfile&filename=boost.lexer.zip&directory=Strings%20-%20Text%20Processing Boost Vault] |
| 50 | * '''Categories:''' [#StringAndTextProcessing String And Text Processing] |
| 51 | * '''Description:''' A programmable lexical analyser generator inspired by 'flex'. Like flex, it is programmed by the use of regular expressions and outputs a state machine as a number of DFAs utilising equivalence classes for compression. |
| 52 | |
| 53 | --------------------------------------------------------------------------------------------------- |
| 54 | == Boost.Process == |
| 55 | * '''Author(s):''' Boris Schaeling, Ilya Sokolov, Felipe Tanus, Julio M. Merino Vidal |
| 56 | * '''Version:''' v0.4 |
| 57 | * '''State:''' On going |
| 58 | * '''Last upload:''' October 08, 2010 |
| 59 | * '''Review Manager:''' Marshall Clow |
| 60 | * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/SOC/2010/process Boost Sandbox] [http://www.highscore.de/boost/gsoc2010/process.zip Download] |
| 61 | * '''Categories:''' [#System System] |
| 62 | * |
| 63 | |
| 64 | --------------------------------------------------------------------------------------------------- |
| 65 | == Boost.!TypeTraits.Extensions == |
| 66 | * '''Author(s):''' Frédéric Bron |
| 67 | * '''Version:''' ??? |
| 68 | * '''State:''' Quite Stable |
| 69 | * '''Last upload:''' 2009 June 25 |
| 70 | * '''Inclusion date:''' ??? |
| 71 | * '''Depends on:''' |
| 72 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 73 | * Missing criteria |
| 74 | * C1 |
| 75 | * '''Pre-reviewed by :''' ??? '''people''' |
| 76 | * '''Review Manager:''' Joel Falcou |
| 77 | * '''Expected review date:''' ??? |
| 78 | * '''Links:''' [https://svn.boost.org/trac/boost/browser/sandbox/type_traits Boost Vault] [http://svn.boost.org/svn/boost/sandbox/task Boost Sandbox] |
| 79 | * '''Categories:''' [#FunctionObjectsAndHigher-orderProgramming Function Objects And Higher-order Programming] |
| 80 | * '''Description:''' The purpose of the addition is to add type traits to detect if types T and U are comparable in the sense of <, <=, >, >=, == or != operators, i.e. if t<u has a sens when t is of type T and u of type U (same for <=, >, >=, ==, !=). |
| 81 | |
| 82 | The following traits are added: is_equal_to_comparable<T,U> is_greater_comparable<T,U> is_greater_equal_comparable<T,U> is_less_comparable<T,U> is_less_equal_comparable<T,U> is_not_equal_to_comparable<T,U> |
| 83 | |
| 84 | The names are based on the corresponding names of the standard template library (<functional> header, section 20.3.3 of the standard). |
| 85 | |
| 86 | The code has the following properties: * returns true if t<u is meaningful and returns a value convertible to bool * returns false if t<u is meaningless. * fails with compile time error if t<u is meaningful and returns void (a possibility to avoid compile time error would be to return true with an operator, trick but this has little sens as returning false would be better) |
| 87 | |
| 88 | |
| 89 | --------------------------------------------------------------------------------------------------- |
| 90 | = Looking for a review manager = |
| 149 | |
| 150 | |
| 151 | --------------------------------------------------------------------------------------------------- |
| 152 | == Boost.Conversion == |
| 153 | |
| 154 | * '''Author(s):''' Vicente J. Botet Escribá |
| 155 | * '''Version:''' 0.4 |
| 156 | * '''State:''' Stable - Formal review requested - Looking for a review manager |
| 157 | * '''Last upload:'''2009 October 27 |
| 158 | * '''Inclusion date:''' ??? |
| 159 | * '''Depends on:''' |
| 160 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 161 | * Missing criteria |
| 162 | * C1 |
| 163 | * '''Pre-reviewed by :''' ??? '''people''' |
| 164 | * '''Review Manager:''' Needed |
| 165 | * '''Expected review date:''' ??? |
| 166 | * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=conversion.zip&directory=Utilities& Boost Vault] [http://svn.boost.org/svn/boost/sandbox/conversion Boost Sandbox] [http://svn.boost.org/svn/boost/sandbox/conversion/libs/conversion/doc/index.html Documentation] |
| 167 | * '''Categories:''' [#Utilities Utilities] |
| 168 | * '''Description:''' Generic explicit conversion between unrelated types. |
| 169 | |
| 170 | The template function convert_to allows to convert a source type to a target type, using argument dependent lookup to select a specialized convert_to function if available. If no specialized convert_to function is available, boost::conversion::convert_to is used. |
| 171 | |
| 172 | The generic convert_to function requires that the elements to be converted are assignable and copy constructible. It is implemented using the Target copy construction from a Source or the Source conversion operator Target - this is sometimes unavailable. |
| 173 | |
| 174 | For standard types, we can not add a specialized convert_to function on the namespace std. The alternative to using argument dependent lookup in this situation is to provide a template specialization of boost::conversion::convert_to for every pair of standard types that requires a specialized convert_to. |
| 175 | |
| 176 | Boost.Conversion provides: |
| 177 | |
| 178 | * a generic convert_to function which can be specialized by the user to make explicit conversion between unrelated types. |
| 179 | * a generic assign_to function which can be specialized by the user to make explicit assignation between unrelated types. |
| 180 | * a generic mca/tie function returning a wrapper which replace assignments by a call to assign_to and conversion operators by a call convert_to. |
| 181 | * a generic convert_to_via function which convert a type From to another To using a temporary one Via. |
| 182 | * conversion between std::complex of explicitly convertible types. |
| 183 | * conversion between std::pair of explicitly convertible types. |
| 184 | * conversion between boost::optional of explicitly convertible types. |
| 185 | * conversion between boost::rational of explicitly convertible types. |
| 186 | * conversion between boost::interval of explicitly convertible types. |
| 187 | * conversion between boost::chrono::time_point and boost::ptime. |
| 188 | * conversion between boost::chrono::duration and boost::time_duration. |
| 189 | * conversion between boost::array of explicitly convertible types. |
| 190 | * conversion between Boost.Fusion sequences of explicitly convertible types. |
| 191 | |
| 192 | --------------------------------------------------------------------------------------------------- |
| 193 | == Boost.Convert == |
| 194 | * '''Author(s):''' Vladimir Batov |
| 195 | * '''Version:''' 0.36 |
| 196 | * '''State:''' Review Requested |
| 197 | * '''Last upload:''' 2009, Mars 02 |
| 198 | * '''Inclusion date:''' ??? |
| 199 | * '''Depends on:''' |
| 200 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 201 | * Missing criteria |
| 202 | * C1 |
| 203 | * '''Pre-reviewed by :''' ??? '''people''' |
| 204 | * '''Review Manager:''' Needed |
| 205 | * '''Expected review date:''' ??? |
| 206 | * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost-string-convert.zip&directory=& Boost Vault] |
| 207 | * '''Categories:''' [#StringAndTextProcessing String And Text Processing] |
| 208 | * '''Description:''' Extensible framework for a uniform approach to type-to-type conversions in general. It builds on the lexical_cast past experience, offers the already familiar conversion functionality and more: |
| 209 | |
| 210 | * simple and better/safe conversion-failure check; |
| 211 | * throwing and non throwing conversion-failure behavior; |
| 212 | * support for the default value to be returned when conversion fails; |
| 213 | * formatting support based on the standard I/O Streams and the standard (or user-defined) manipulators (like std::hex, std::scientific, etc.); |
| 214 | * locale support; |
| 215 | * support for boost::range-compliant char and wchar_t-based string containers (std::string, std::wstring, char const*, wchar_t const*, char array[], std::vector<char>, etc.); |
| 216 | * no DefaultConstructibility requirement for the Target type; |
| 217 | * room to grow. |
| 218 | |
| 219 | --------------------------------------------------------------------------------------------------- |
| 220 | == Boost.Endian == |
| 221 | * '''Author(s):''' Beman Dawes |
| 222 | * '''Version:''' |
| 223 | * '''State:''' |
| 224 | * '''Last upload:'''2008 Nov 26 |
| 225 | * '''Inclusion date:''' ??? |
| 226 | * '''Depends on:''' |
| 227 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 228 | * Missing criteria |
| 229 | * C1 |
| 230 | * '''Pre-reviewed by :''' ??? '''people''' |
| 231 | * '''Review Manager:''' Needed |
| 232 | * '''Expected review date:''' ??? |
| 233 | * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/endian Boost Sandbox] |
| 234 | * '''Categories:''' [#Portability Portability] |
| 235 | * '''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. |
| 236 | 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. |
| 237 | |
| 238 | |
| 239 | --------------------------------------------------------------------------------------------------- |
| 240 | == Boost.!InterThreads == |
| 241 | * '''Author(s):''' Vicente J. Botet Escribá |
| 242 | * '''Version:''' 0.1.3 |
| 243 | * '''State:''' Stable - Formal review requested - Looking for a review manager |
| 244 | * '''Last upload:''' 2009 April 02 |
| 245 | * '''Inclusion date:''' ??? |
| 246 | * '''Depends on:''' |
| 247 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 248 | * Missing criteria |
| 249 | * C1 |
| 250 | * '''Pre-reviewed by :''' ??? '''people''' |
| 251 | * '''Review Manager:''' Needed |
| 252 | * '''Expected review date:''' ??? |
| 253 | * '''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] |
| 254 | * '''Categories:''' [#ConcurrentProgramming Concurrent Programming] |
| 255 | * '''Description:''' Boost.!InterThreads extends Boost.Threads adding some features: |
| 256 | * 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. |
| 257 | * thread_decorator can now decorate a nullary function in addition to a callable function |
| 258 | * 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. |
| 259 | * 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. |
| 260 | * thread tuple: defines a thread group where the number of threads is know statically and the threads are created at construction time. |
| 261 | * set_once: a synchronizer that allows to set a variable only once, notifying to the variable value to whatever is waiting for that. |
| 262 | * 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. |
| 263 | * 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. |
| 264 | |
| 265 | thread_decorator and thread_specific_shared_ptr are based on the original implementation of threadalert written by Roland Schwarz. |
| 266 | |
| 267 | --------------------------------------------------------------------------------------------------- |
| 268 | == Boost.!LockFree == |
| 269 | * '''Author(s):''' Tim Blechmann |
| 270 | * '''Version:''' v0.2 |
| 271 | * '''State:''' |
| 272 | * '''Last upload:''' 2009 November 24 |
| 273 | * '''Inclusion date:''' ??? |
| 274 | * '''Depends on:''' |
| 275 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 276 | * Missing criteria |
| 277 | * C1 |
| 278 | * '''Pre-reviewed by :''' ??? '''people''' |
| 279 | * '''Review Manager:''' Needed |
| 280 | * '''Expected review date:''' ??? |
| 281 | * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost_lockfree-170809.zip&directory=Concurrent%20Programming& Boost Vault] [http://tim.klingt.org/git?p=boost_lockfree.git Git] [http://tim.klingt.org/boost_lockfree Documentation] |
| 282 | * '''Categories:''' [#ConcurrentProgramming Concurrent Programming] [#Containers Containers] |
| 283 | * '''Description:''' Provides implementations of lock-free data structures. Lock-free data structures can be accessed by multiple threads without the necessity of blocking synchronization primitives such as guards. Lock-free data structures can be used in real-time systems, where blocking algorithms may lead to high worst-case execution times, to avoid priority inversion, or to increase the scalability for multi-processor machines. |
| 284 | |
| 285 | The following data structures are provided: |
| 286 | |
| 287 | * boost::lockfree::fifo, a lock-free fifo queue |
| 288 | * boost::lockfree::stack, a lock-free stack |
| 289 | * boost::lockfree::atomic_int, an atomic integer class |
| 290 | |
| 291 | --------------------------------------------------------------------------------------------------- |
| 292 | == Boost.Pimpl == |
| 293 | * '''Author(s):''' Vladimir Batov |
| 294 | * '''Version:''' |
| 295 | * '''State:''' |
| 296 | * '''Last upload:''' |
| 297 | * '''Inclusion date:''' ??? |
| 298 | * '''Depends on:''' |
| 299 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 300 | * Missing criteria |
| 301 | * C1 |
| 302 | * '''Pre-reviewed by :''' ??? '''people''' |
| 303 | * '''Review Manager:''' Needed |
| 304 | * '''Expected review date:''' ??? |
| 305 | * '''Links:''' [http://www.boost-consulting.com/vault/index.php?action=downloadfile&filename=Pimpl.zip&directory=& Boost Vault] [http://www.ddj.com/cpp/205918714 Documentation] |
| 306 | * '''Categories:''' [#Memory Memory] |
| 307 | * '''Description:''' The Pimpl idiom is a simple yet robust technique to minimize coupling via the separation of interface and implementation and then implementation hiding. This library provides a convenient yet flexible and generic deployment technique for the Pimpl idiom. It's seemingly complete and broadly applicable, yet minimal, simple and pleasant to use. |
| 308 | |
| 309 | |
| 310 | |
| 311 | |
| 312 | --------------------------------------------------------------------------------------------------- |
| 313 | == Boost.!ShiftedPointer == |
| 314 | * '''Author(s):''' Phil Bouchard |
| 315 | * '''Version:''' |
| 316 | * '''State:''' |
| 317 | * '''Last upload:''' |
| 318 | * '''Inclusion date:''' ??? |
| 319 | * '''Depends on:''' |
| 320 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 321 | * Missing criteria |
| 322 | * C1 |
| 323 | * '''Pre-reviewed by :''' ??? '''people''' |
| 324 | * '''Review Manager:''' Needed |
| 325 | * '''Expected review date:''' ??? |
| 326 | * '''Links:''' [http://www.boost-consulting.com/vault/index.php?&direction=0&order=&directory=Memory Boost Vault] |
| 327 | * '''Categories:''' [#Memory Memory] |
| 328 | * '''Description:''' Smart pointers are in general optimized for a specific resource (memory usage, CPU cycles, user friendliness, ...) depending on what the user need to make the most of. The purpose of this smart pointer is mainly to allocate the reference counter (or owner) and the object itself at the same time so that dynamic memory management is simplified thus accelerated and cheaper on the memory map. |
| 329 | |
| 330 | --------------------------------------------------------------------------------------------------- |
| 331 | = Depends on not yet accepted libraries = |
| 332 | |
| 333 | --------------------------------------------------------------------------------------------------- |
| 334 | == Boost.Context == |
| 335 | * '''Author(s):''' Oliver Kowalke |
| 336 | * '''Version:''' 0.2 |
| 337 | * '''State:''' |
| 338 | * '''Depends on:''' [#Boost.Atomic Boost.Atomic] |
| 339 | * '''Last upload:'''2010 August 23 |
| 340 | * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost.context-0.2.0.zip&directory=Concurrent%20Programming& Boost Vault] |
| 341 | * '''Categories:''' [#ConcurrentProgramming Concurrent Programming] |
| 342 | * '''Description:''' Boost.Context provides framework for user-context swapping/switching - has assembler for some platforms |
| 343 | |
| 344 | --------------------------------------------------------------------------------------------------- |
| 345 | == Boost.Containers == |
| 346 | * '''Author(s):''' Ion Gaztañaga |
| 347 | * '''Version:''' |
| 348 | * '''State:''' stable |
| 349 | * '''Last upload:''' |
| 350 | * '''Inclusion date:''' 2009 Dec 14 |
| 351 | * '''Depends on:''' [#Boost.Move Boost.Move] |
| 352 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 353 | * Missing criteria |
| 354 | * C1 |
| 355 | * '''Pre-reviewed by :''' ??? '''people''' |
| 356 | * '''Review Manager:''' Needed |
| 357 | * '''Expected review date:''' ??? |
| 358 | * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/move Boost Sandbox] [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost.move.container.zip&directory=Containers& Download] [http://svn.boost.org/svn/boost/sandbox/move/libs/move/doc/html/index.html Documentation] |
| 359 | * '''Categories:''' [#Container Container] |
| 360 | * '''Description:''' Containers of Movable objects emulation using [#Boost.Move Boost.Move] |
| 361 | |
| 362 | |
| 363 | --------------------------------------------------------------------------------------------------- |
| 364 | == Boost.Fiber == |
| 365 | * '''Author(s):''' Oliver Kowalke |
| 366 | * '''Version:''' |
| 367 | * '''State:''' |
| 368 | * '''Last upload:'''2009 |
| 369 | * '''Inclusion date:''' ??? |
| 370 | * '''Depends on:''' [#Boost.Atomic Boost.Atomic] |
| 371 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 372 | * Missing criteria |
| 373 | * C1 |
| 374 | * '''Pre-reviewed by :''' ??? '''people''' |
| 375 | * '''Review Manager:''' Needed |
| 376 | * '''Expected review date:''' ??? |
| 377 | * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost-fiber.v2.tar.gz&directory=Concurrent%20Programming& Boost Vault] |
| 378 | * '''Categories:''' [#ConcurrentProgramming Concurrent Programming] |
| 379 | * '''Description:''' Boost.Fiber implements lightweight threads of execution - so called fibers |
| 380 | |
| 381 | |
| 382 | --------------------------------------------------------------------------------------------------- |
| 383 | == Boost.Stopwatches == |
| 384 | * '''Author(s):''' Vicente J. Botet Escribá |
| 385 | * '''Version:''' 0.1.0 |
| 386 | * '''State:''' Stable |
| 387 | * '''Depends on:''' [#Boost.Chrono Boost.Chrono] |
| 388 | * '''Last upload:'''2010 September 7 |
| 389 | * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/chrono/libs/stopwatches/doc/html Documentation] [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=stopwatches.zip&directory=System& Download] [http://svn.boost.org/svn/boost/sandbox/chrono Boost Sandbox] |
| 390 | * '''Categories:''' [#System System] |
| 391 | * '''Description:''' The Boost Ratio library provides: |
| 392 | * Stopwatches: |
| 393 | * stopwatch, capturing elapsed Clock times. |
| 394 | * stopwatch_accumulator, capturing cumulated elapsed Clock times. |
| 395 | * scoped helper classes allowing to pairwise start/stop operations, suspend/resume and resume/suspend a Stopwatch. |
| 396 | * Stopwatch reporters: |
| 397 | * stopwatch_reporter, convenient reporting of models of Stopwatch results. |
| 398 | * stopclock<Clock> shortcut of stopwatch_reporter<stopwatch<Clock>>. |
| 399 | * Support for wide characters (strings and ostreams). |
| 400 | |
| 401 | --------------------------------------------------------------------------------------------------- |
| 402 | == Boost.Task == |
| 403 | * '''Author(s):''' Oliver Kowalke |
| 404 | * '''Version:''' 0.2.1 |
| 405 | * '''State:''' Quite Stable |
| 406 | * '''Last upload:''' 2009 June 25 |
| 407 | * '''Inclusion date:''' ??? |
| 408 | * '''Depends on:''' Boost.Fiber, Boost.Atomic |
| 409 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 410 | * Missing criteria |
| 411 | * C1 |
| 412 | * '''Pre-reviewed by :''' ??? '''people''' |
| 413 | * '''Review Manager:''' Vicente Botet |
| 414 | * '''Expected review date:''' ??? |
| 415 | * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost.task-0.2.1.zip&directory=Concurrent%20Programming&PHPSESSID=96307fee8086c06036af42fae790b449 Boost Vault] [http://svn.boost.org/svn/boost/sandbox/task Boost Sandbox] |
| 416 | * '''Categories:''' [#ConcurrentProgramming Concurrent Programming] |
| 417 | * '''Description:''' execute tasks in threadpool, in new thread or as sub-task and let the result be transfered via a future. support task interruption, work-stealing and fork/join semantics |
| 418 | |
| 419 | |
| 420 | |
| 421 | |
| 422 | --------------------------------------------------------------------------------------------------- |
| 423 | = Review on going = |
| 424 | |
| 425 | --------------------------------------------------------------------------------------------------- |
| 426 | == Boost.GIL.IO == |
| 427 | * '''Author(s):''' Christian Henning [mailto:chhenning-AT-gmail.com> |
| 428 | * '''Version:''' |
| 429 | * '''State:''' Stable |
| 430 | * '''Last upload:''' 2009 Jan 14 |
| 431 | * '''Inclusion date:''' ??? |
| 432 | * '''Depends on:''' |
| 433 | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
| 434 | * Missing criteria |
| 435 | * C1 |
| 436 | * '''Pre-reviewed by :''' ??? '''people''' |
| 437 | * '''Review Manager:''' Mateusz Loskot |
| 438 | * '''Review result:''' On going |
| 439 | * '''Links:''' [http://gil-contributions.googlecode.com/svn/trunk/gil_2 svn repository ] |
| 440 | * '''Categories:''' [#ImageProcessing Image Processing] |
| 441 | * '''Description:'''IO extension for boost::gil which allows reading and writing of/in image formats ( tiff, jpeg, ... ). |
| 442 | |
| 443 | --------------------------------------------------------------------------------------------------- |
| 444 | = Review results pending = |
128 | | == Boost.Containers == |
129 | | * '''Author(s):''' Ion Gaztañaga |
130 | | * '''Version:''' |
131 | | * '''State:''' stable |
132 | | * '''Last upload:''' |
133 | | * '''Inclusion date:''' 2009 Dec 14 |
134 | | * '''Depends on:''' Boost.Move |
135 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
136 | | * Missing criteria |
137 | | * C1 |
138 | | * '''Pre-reviewed by :''' ??? '''people''' |
139 | | * '''Review Manager:''' Needed |
140 | | * '''Expected review date:''' ??? |
141 | | * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/move Boost Sandbox] [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost.move.container.zip&directory=Containers& Download] [http://svn.boost.org/svn/boost/sandbox/move/libs/move/doc/html/index.html Documentation] |
142 | | * '''Categories:''' [#Container Container] |
143 | | * '''Description:''' Containers of Movable objects emulation using [#Boost.Move Boost.Move] |
144 | | |
145 | | --------------------------------------------------------------------------------------------------- |
146 | | == Boost.Context == |
147 | | * '''Author(s):''' Oliver Kowalke |
148 | | * '''Version:''' 0.2 |
149 | | * '''State:''' |
150 | | * '''Last upload:'''2010 August 23 |
151 | | * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost.context-0.2.0.zip&directory=Concurrent%20Programming& Boost Vault] |
152 | | * '''Categories:''' [#ConcurrentProgramming Concurrent Programming] |
153 | | * '''Description:''' Boost.Context provides framework for user-context swapping/switching - has assembler for some platforms |
154 | | |
155 | | |
156 | | --------------------------------------------------------------------------------------------------- |
157 | | == Boost.Conversion == |
158 | | |
159 | | * '''Author(s):''' Vicente J. Botet Escribá |
160 | | * '''Version:''' 0.4 |
161 | | * '''State:''' Stable - Formal review requested - Looking for a review manager |
162 | | * '''Last upload:'''2009 October 27 |
163 | | * '''Inclusion date:''' ??? |
164 | | * '''Depends on:''' |
165 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
166 | | * Missing criteria |
167 | | * C1 |
168 | | * '''Pre-reviewed by :''' ??? '''people''' |
169 | | * '''Review Manager:''' Needed |
170 | | * '''Expected review date:''' ??? |
171 | | * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=conversion.zip&directory=Utilities& Boost Vault] [http://svn.boost.org/svn/boost/sandbox/conversion Boost Sandbox] [http://svn.boost.org/svn/boost/sandbox/conversion/libs/conversion/doc/index.html Documentation] |
172 | | * '''Categories:''' [#Utilities Utilities] |
173 | | * '''Description:''' Generic explicit conversion between unrelated types. |
174 | | |
175 | | The template function convert_to allows to convert a source type to a target type, using argument dependent lookup to select a specialized convert_to function if available. If no specialized convert_to function is available, boost::conversion::convert_to is used. |
176 | | |
177 | | The generic convert_to function requires that the elements to be converted are assignable and copy constructible. It is implemented using the Target copy construction from a Source or the Source conversion operator Target - this is sometimes unavailable. |
178 | | |
179 | | For standard types, we can not add a specialized convert_to function on the namespace std. The alternative to using argument dependent lookup in this situation is to provide a template specialization of boost::conversion::convert_to for every pair of standard types that requires a specialized convert_to. |
180 | | |
181 | | Boost.Conversion provides: |
182 | | |
183 | | * a generic convert_to function which can be specialized by the user to make explicit conversion between unrelated types. |
184 | | * a generic assign_to function which can be specialized by the user to make explicit assignation between unrelated types. |
185 | | * a generic mca/tie function returning a wrapper which replace assignments by a call to assign_to and conversion operators by a call convert_to. |
186 | | * a generic convert_to_via function which convert a type From to another To using a temporary one Via. |
187 | | * conversion between std::complex of explicitly convertible types. |
188 | | * conversion between std::pair of explicitly convertible types. |
189 | | * conversion between boost::optional of explicitly convertible types. |
190 | | * conversion between boost::rational of explicitly convertible types. |
191 | | * conversion between boost::interval of explicitly convertible types. |
192 | | * conversion between boost::chrono::time_point and boost::ptime. |
193 | | * conversion between boost::chrono::duration and boost::time_duration. |
194 | | * conversion between boost::array of explicitly convertible types. |
195 | | * conversion between Boost.Fusion sequences of explicitly convertible types. |
196 | | |
197 | | --------------------------------------------------------------------------------------------------- |
198 | | == Boost.Convert == |
199 | | * '''Author(s):''' Vladimir Batov |
200 | | * '''Version:''' 0.36 |
201 | | * '''State:''' Review Requested |
202 | | * '''Last upload:''' 2009, Mars 02 |
203 | | * '''Inclusion date:''' ??? |
204 | | * '''Depends on:''' |
205 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
206 | | * Missing criteria |
207 | | * C1 |
208 | | * '''Pre-reviewed by :''' ??? '''people''' |
209 | | * '''Review Manager:''' Needed |
210 | | * '''Expected review date:''' ??? |
211 | | * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost-string-convert.zip&directory=& Boost Vault] |
212 | | * '''Categories:''' [#StringAndTextProcessing String And Text Processing] |
213 | | * '''Description:''' Extensible framework for a uniform approach to type-to-type conversions in general. It builds on the lexical_cast past experience, offers the already familiar conversion functionality and more: |
214 | | |
215 | | * simple and better/safe conversion-failure check; |
216 | | * throwing and non throwing conversion-failure behavior; |
217 | | * support for the default value to be returned when conversion fails; |
218 | | * formatting support based on the standard I/O Streams and the standard (or user-defined) manipulators (like std::hex, std::scientific, etc.); |
219 | | * locale support; |
220 | | * support for boost::range-compliant char and wchar_t-based string containers (std::string, std::wstring, char const*, wchar_t const*, char array[], std::vector<char>, etc.); |
221 | | * no DefaultConstructibility requirement for the Target type; |
222 | | * room to grow. |
223 | | |
224 | | --------------------------------------------------------------------------------------------------- |
225 | | == Boost.Endian == |
226 | | * '''Author(s):''' Beman Dawes |
227 | | * '''Version:''' |
228 | | * '''State:''' |
229 | | * '''Last upload:'''2008 Nov 26 |
230 | | * '''Inclusion date:''' ??? |
231 | | * '''Depends on:''' |
232 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
233 | | * Missing criteria |
234 | | * C1 |
235 | | * '''Pre-reviewed by :''' ??? '''people''' |
236 | | * '''Review Manager:''' Needed |
237 | | * '''Expected review date:''' ??? |
238 | | * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/endian Boost Sandbox] |
239 | | * '''Categories:''' [#Portability Portability] |
240 | | * '''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. |
241 | | 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. |
242 | | |
243 | | --------------------------------------------------------------------------------------------------- |
244 | | == Boost.Fiber == |
245 | | * '''Author(s):''' Oliver Kowalke |
246 | | * '''Version:''' |
247 | | * '''State:''' |
248 | | * '''Last upload:'''2009 |
249 | | * '''Inclusion date:''' ??? |
250 | | * '''Depends on:''' |
251 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
252 | | * Missing criteria |
253 | | * C1 |
254 | | * '''Pre-reviewed by :''' ??? '''people''' |
255 | | * '''Review Manager:''' Needed |
256 | | * '''Expected review date:''' ??? |
257 | | * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost-fiber.v2.tar.gz&directory=Concurrent%20Programming& Boost Vault] |
258 | | * '''Categories:''' [#ConcurrentProgramming Concurrent Programming] |
259 | | * '''Description:''' Boost.Fiber implements lightweight threads of execution - so called fibers |
260 | | |
261 | | --------------------------------------------------------------------------------------------------- |
262 | | == Boost.GIL.IO == |
263 | | * '''Author(s):''' Christian Henning [mailto:chhenning-AT-gmail.com> |
264 | | * '''Version:''' |
265 | | * '''State:''' Stable |
266 | | * '''Last upload:''' 2009 Jan 14 |
267 | | * '''Inclusion date:''' ??? |
268 | | * '''Depends on:''' |
269 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
270 | | * Missing criteria |
271 | | * C1 |
272 | | * '''Pre-reviewed by :''' ??? '''people''' |
273 | | * '''Review Manager:''' Mateusz Loskot |
274 | | * '''Review result:''' On going |
275 | | * '''Links:''' [http://gil-contributions.googlecode.com/svn/trunk/gil_2 svn repository ] |
276 | | * '''Categories:''' [#ImageProcessing Image Processing] |
277 | | * '''Description:'''IO extension for boost::gil which allows reading and writing of/in image formats ( tiff, jpeg, ... ). |
278 | | |
279 | | --------------------------------------------------------------------------------------------------- |
280 | | == Boost.!InterThreads == |
281 | | * '''Author(s):''' Vicente J. Botet Escribá |
282 | | * '''Version:''' 0.1.3 |
283 | | * '''State:''' Stable - Formal review requested - Looking for a review manager |
284 | | * '''Last upload:''' 2009 April 02 |
285 | | * '''Inclusion date:''' ??? |
286 | | * '''Depends on:''' |
287 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
288 | | * Missing criteria |
289 | | * C1 |
290 | | * '''Pre-reviewed by :''' ??? '''people''' |
291 | | * '''Review Manager:''' Needed |
292 | | * '''Expected review date:''' ??? |
293 | | * '''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] |
294 | | * '''Categories:''' [#ConcurrentProgramming Concurrent Programming] |
295 | | * '''Description:''' Boost.!InterThreads extends Boost.Threads adding some features: |
296 | | * 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. |
297 | | * thread_decorator can now decorate a nullary function in addition to a callable function |
298 | | * 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. |
299 | | * 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. |
300 | | * thread tuple: defines a thread group where the number of threads is know statically and the threads are created at construction time. |
301 | | * set_once: a synchronizer that allows to set a variable only once, notifying to the variable value to whatever is waiting for that. |
302 | | * 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. |
303 | | * 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. |
304 | | |
305 | | thread_decorator and thread_specific_shared_ptr are based on the original implementation of threadalert written by Roland Schwarz. |
306 | | |
307 | | --------------------------------------------------------------------------------------------------- |
308 | | == Boost.Lexer == |
309 | | * '''Author(s):''' Ben Hanson |
310 | | * '''Version:''' v0.2 |
311 | | * '''State:''' |
312 | | * '''Last upload:''' 2009 November 24 |
313 | | * '''Inclusion date:''' ??? |
314 | | * '''Depends on:''' |
315 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
316 | | * Missing criteria |
317 | | * C1 |
318 | | * '''Pre-reviewed by :''' ??? '''people''' |
319 | | * '''Review Manager:''' Eric Niebler |
320 | | * '''Expected review date:''' ??? |
321 | | * '''Links:''' [http://boost-consulting.com/vault/index.php?action=downloadfile&filename=boost.lexer.zip&directory=Strings%20-%20Text%20Processing Boost Vault] |
322 | | * '''Categories:''' [#StringAndTextProcessing String And Text Processing] |
323 | | * '''Description:''' A programmable lexical analyser generator inspired by 'flex'. Like flex, it is programmed by the use of regular expressions and outputs a state machine as a number of DFAs utilising equivalence classes for compression. |
324 | | |
325 | | |
326 | | --------------------------------------------------------------------------------------------------- |
327 | | == Boost.!LockFree == |
328 | | * '''Author(s):''' Tim Blechmann |
329 | | * '''Version:''' v0.2 |
330 | | * '''State:''' |
331 | | * '''Last upload:''' 2009 November 24 |
332 | | * '''Inclusion date:''' ??? |
333 | | * '''Depends on:''' |
334 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
335 | | * Missing criteria |
336 | | * C1 |
337 | | * '''Pre-reviewed by :''' ??? '''people''' |
338 | | * '''Review Manager:''' Needed |
339 | | * '''Expected review date:''' ??? |
340 | | * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost_lockfree-170809.zip&directory=Concurrent%20Programming& Boost Vault] [http://tim.klingt.org/git?p=boost_lockfree.git Git] [http://tim.klingt.org/boost_lockfree Documentation] |
341 | | * '''Categories:''' [#ConcurrentProgramming Concurrent Programming] [#Containers Containers] |
342 | | * '''Description:''' Provides implementations of lock-free data structures. Lock-free data structures can be accessed by multiple threads without the necessity of blocking synchronization primitives such as guards. Lock-free data structures can be used in real-time systems, where blocking algorithms may lead to high worst-case execution times, to avoid priority inversion, or to increase the scalability for multi-processor machines. |
343 | | |
344 | | The following data structures are provided: |
345 | | |
346 | | * boost::lockfree::fifo, a lock-free fifo queue |
347 | | * boost::lockfree::stack, a lock-free stack |
348 | | * boost::lockfree::atomic_int, an atomic integer class |
349 | | |
350 | | --------------------------------------------------------------------------------------------------- |
370 | | --------------------------------------------------------------------------------------------------- |
371 | | == Boost.Pimpl == |
372 | | * '''Author(s):''' Vladimir Batov |
373 | | * '''Version:''' |
374 | | * '''State:''' |
375 | | * '''Last upload:''' |
376 | | * '''Inclusion date:''' ??? |
377 | | * '''Depends on:''' |
378 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
379 | | * Missing criteria |
380 | | * C1 |
381 | | * '''Pre-reviewed by :''' ??? '''people''' |
382 | | * '''Review Manager:''' Needed |
383 | | * '''Expected review date:''' ??? |
384 | | * '''Links:''' [http://www.boost-consulting.com/vault/index.php?action=downloadfile&filename=Pimpl.zip&directory=& Boost Vault] [http://www.ddj.com/cpp/205918714 Documentation] |
385 | | * '''Categories:''' [#Memory Memory] |
386 | | * '''Description:''' The Pimpl idiom is a simple yet robust technique to minimize coupling via the separation of interface and implementation and then implementation hiding. This library provides a convenient yet flexible and generic deployment technique for the Pimpl idiom. It's seemingly complete and broadly applicable, yet minimal, simple and pleasant to use. |
387 | | |
388 | | --------------------------------------------------------------------------------------------------- |
389 | | == Boost.Process == |
390 | | * '''Author(s):''' Boris Schaeling, Ilya Sokolov, Felipe Tanus, Julio M. Merino Vidal |
391 | | * '''Version:''' v0.4 |
392 | | * '''State:''' On going |
393 | | * '''Last upload:''' October 08, 2010 |
394 | | * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/SOC/2010/process Boost Sandbox] [http://www.highscore.de/boost/gsoc2010/process.zip Download] |
395 | | * '''Categories:''' [#System System] |
396 | | * |
397 | | --------------------------------------------------------------------------------------------------- |
398 | | == Boost.!ShiftedPointer == |
399 | | * '''Author(s):''' Phil Bouchard |
400 | | * '''Version:''' |
401 | | * '''State:''' |
402 | | * '''Last upload:''' |
403 | | * '''Inclusion date:''' ??? |
404 | | * '''Depends on:''' |
405 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
406 | | * Missing criteria |
407 | | * C1 |
408 | | * '''Pre-reviewed by :''' ??? '''people''' |
409 | | * '''Review Manager:''' Needed |
410 | | * '''Expected review date:''' ??? |
411 | | * '''Links:''' [http://www.boost-consulting.com/vault/index.php?&direction=0&order=&directory=Memory Boost Vault] |
412 | | * '''Categories:''' [#Memory Memory] |
413 | | * '''Description:''' Smart pointers are in general optimized for a specific resource (memory usage, CPU cycles, user friendliness, ...) depending on what the user need to make the most of. The purpose of this smart pointer is mainly to allocate the reference counter (or owner) and the object itself at the same time so that dynamic memory management is simplified thus accelerated and cheaper on the memory map. |
414 | | |
415 | | --------------------------------------------------------------------------------------------------- |
416 | | == Boost.Stopwatches == |
417 | | * '''Author(s):''' Vicente J. Botet Escribá |
418 | | * '''Version:''' 0.1.0 |
419 | | * '''State:''' Stable |
420 | | * '''Last upload:'''2010 September 7 |
421 | | * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/chrono/libs/stopwatches/doc/html Documentation] [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=stopwatches.zip&directory=System& Download] [http://svn.boost.org/svn/boost/sandbox/chrono Boost Sandbox] |
422 | | * '''Categories:''' [#System System] |
423 | | * '''Description:''' The Boost Ratio library provides: |
424 | | * Stopwatches: |
425 | | * stopwatch, capturing elapsed Clock times. |
426 | | * stopwatch_accumulator, capturing cumulated elapsed Clock times. |
427 | | * scoped helper classes allowing to pairwise start/stop operations, suspend/resume and resume/suspend a Stopwatch. |
428 | | * Stopwatch reporters: |
429 | | * stopwatch_reporter, convenient reporting of models of Stopwatch results. |
430 | | * stopclock<Clock> shortcut of stopwatch_reporter<stopwatch<Clock>>. |
431 | | * Support for wide characters (strings and ostreams). |
432 | | --------------------------------------------------------------------------------------------------- |
433 | | == Boost.Task == |
434 | | * '''Author(s):''' Oliver Kowalke |
435 | | * '''Version:''' 0.2.1 |
436 | | * '''State:''' Quite Stable |
437 | | * '''Last upload:''' 2009 June 25 |
438 | | * '''Inclusion date:''' ??? |
439 | | * '''Depends on:''' Boost.Fiber, Boost.Atomic |
440 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
441 | | * Missing criteria |
442 | | * C1 |
443 | | * '''Pre-reviewed by :''' ??? '''people''' |
444 | | * '''Review Manager:''' Needed |
445 | | * '''Expected review date:''' ??? |
446 | | * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost.task-0.2.1.zip&directory=Concurrent%20Programming&PHPSESSID=96307fee8086c06036af42fae790b449 Boost Vault] [http://svn.boost.org/svn/boost/sandbox/task Boost Sandbox] |
447 | | * '''Categories:''' [#ConcurrentProgramming Concurrent Programming] |
448 | | * '''Description:''' execute tasks in threadpool, in new thread or as sub-task and let the result be transfered via a future. support task interruption, work-stealing and fork/join semantics |
449 | | |
450 | | |
451 | | --------------------------------------------------------------------------------------------------- |
452 | | == Boost.!TypeTraits.Extensions == |
453 | | * '''Author(s):''' Frédéric Bron |
454 | | * '''Version:''' ??? |
455 | | * '''State:''' Quite Stable |
456 | | * '''Last upload:''' 2009 June 25 |
457 | | * '''Inclusion date:''' ??? |
458 | | * '''Depends on:''' Boost.Fiber, Boost.Atomic |
459 | | * '''Fulfill review criteria checked by :''' ??? '''At:''' |
460 | | * Missing criteria |
461 | | * C1 |
462 | | * '''Pre-reviewed by :''' ??? '''people''' |
463 | | * '''Review Manager:''' Needed |
464 | | * '''Expected review date:''' ??? |
465 | | * '''Links:''' [https://svn.boost.org/trac/boost/browser/sandbox/type_traits Boost Vault] [http://svn.boost.org/svn/boost/sandbox/task Boost Sandbox] |
466 | | * '''Categories:''' [#FunctionObjectsAndHigher-orderProgramming Function Objects And Higher-order Programming] |
467 | | * '''Description:''' The purpose of the addition is to add type traits to detect if types T and U are comparable in the sense of <, <=, >, >=, == or != operators, i.e. if t<u has a sens when t is of type T and u of type U (same for <=, >, >=, ==, !=). |
468 | | |
469 | | The following traits are added: is_equal_to_comparable<T,U> is_greater_comparable<T,U> is_greater_equal_comparable<T,U> is_less_comparable<T,U> is_less_equal_comparable<T,U> is_not_equal_to_comparable<T,U> |
470 | | |
471 | | The names are based on the corresponding names of the standard template library (<functional> header, section 20.3.3 of the standard). |
472 | | |
473 | | The code has the following properties: * returns true if t<u is meaningful and returns a value convertible to bool * returns false if t<u is meaningless. * fails with compile time error if t<u is meaningful and returns void (a possibility to avoid compile time error would be to return true with an operator, trick but this has little sens as returning false would be better) |
474 | | |
475 | | |
476 | | --------------------------------------------------------------------------------------------------- |
| 507 | |
| 508 | |