Changes between Version 113 and Version 114 of LibrariesUnderConstruction


Ignore:
Timestamp:
Jun 20, 2010, 1:49:32 PM (12 years ago)
Author:
viboes
Comment:

Added Boost.Endian

Legend:

Unmodified
Added
Removed
Modified
  • LibrariesUnderConstruction

    v113 v114  
    429429---------------------------------------------------------------------------------------------------
    430430== Boost.Endian ==
    431  * '''Author(s):''' Beman Dawes
    432  * '''Version:'''
    433  * '''State:'''
    434  * '''Last upload:'''2008 Nov 26
    435  * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/endian Boost Sandbox]
     431 * '''Author(s):''' Tomas Puverle
     432 * '''Version:'''
     433 * '''State:''' On going
     434 * '''Last upload:'''2010 May 26
     435 * '''Links:''' [http://www.boostpro.com/vault/index.php?action=downloadfile&filename=endian-puverle.zip&directory=Utilities&PHPSESSID=2d7859f3e812c993f5a9e2d9900dfee8 Download]
    436436 * '''Categories:''' [#Portability Portability]
    437  * '''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.
    438 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.
     437 * '''Description:''' The highlights of the library are the following:
     438     * Very simple interface: swap<machine_to_little/big>(), swap_in_place<machine_to_little/big>()
     439     * Support for built-in and user-defined data types and ranges thereof. E.g. you can swap ranges of structs containing/deriving from other structs
     440     * endian::iterator, which will iterate across a range swapping values as necessary.  It works with any swappable type.
     441
    439442
    440443---------------------------------------------------------------------------------------------------
     
    534537
    535538---------------------------------------------------------------------------------------------------
     539== Boost.Integer.Endian ==
     540 * '''Author(s):''' Beman Dawes
     541 * '''Version:'''
     542 * '''State:'''
     543 * '''Last upload:'''2008 Nov 26
     544 * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/endian Boost Sandbox] [http://svn.boost.org/svn/boost/sandbox/endian/libs/integer/doc/endian.html Documentation]
     545 * '''Categories:''' [#Portability Portability]
     546 * '''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.
     547These 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.
     548
     549---------------------------------------------------------------------------------------------------
     550== Boost.Integer.Endian.Ext ==
     551 * '''Author(s):''' Vicente J. Botet Escribá, Beman Dawes
     552 * '''Version:''' 0.1.0
     553 * '''State:''' Stable
     554 * '''Last upload:'''2010 June 20
     555 * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/endian_ext Boost Sandbox] [http://svn.boost.org/svn/boost/sandbox/endian_ext/libs/integer/doc/htmpl/index.html Documentation]
     556 * '''Categories:''' [#Portability Portability]
     557 * '''Description:'''  This is an extension of the Beman's Boost.Integer.Endian able to work with endian aware types, used to convert between types with different endian or even to carry on with arithmetic operations, adding support ofr aligned endian unaware types.Boost.Integer.Endian.Ext provides:
     558    * Endian packs
     559          * Big endian | little endian | native endian byte ordering.
     560          * Signed | unsigned
     561          * Unaligned | aligned
     562          * 1-8 byte (unaligned) | 2, 4, 8 byte (aligned)
     563          * Choice of integer value type
     564    * Endian integers with the whole set of arithmetics operators.
     565    * Operators <= and => for unformatted binary (as opposed to formatted character) stream insertion and extraction of built-in, std::string types and of endian types.
     566    * Views of aligned endian unaware integer types as endian packs or endian integers so we can make endian conversion.
     567    * Generic in place conversion between different endian formats.
     568          * Very simple interface: convert_to/from<endiannes domain>(),
     569          * Support for built-in and user-defined data types view as fusion sequences.
     570
     571---------------------------------------------------------------------------------------------------
    536572== Boost.Interfaces ==
    537573 * '''Author(s):'''  Jonathan Turkanis
     
    541577 * '''Links:''' [http://svn.boost.org/svn/boost/sandbox/libs/interfaces Boost Sandbox]
    542578 * '''Categories:''' [#Patterns Patterns]
    543  * '''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 particluar base class. 
     579 * '''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. 
    544580
    545581---------------------------------------------------------------------------------------------------
     
    17031739== Portability ==
    17041740 * [#Boost.Endian Boost.Endian]
     1741 * [#Boost.Integer.Endian Boost.Integer.Endian]
     1742 * [#Boost.Integer.Endian.Ext Boost.Integer.Endian.Ext]
    17051743 * [#Boost.Bitfield Boost.Bitfield]
    17061744