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 | |
| 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. |
| 547 | 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. |
| 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 | --------------------------------------------------------------------------------------------------- |