Boost C++ Libraries Home Libraries People FAQ More


Chapter 1. Boost.NumericConversion

Fernando Luis Cacciola Carballal

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at

Table of Contents 目錄

Overview 概覽
Definitions 定義
Introduction 簡介
Types and Values 類型與值
C++ Arithmetic Types  C++算術類型
Numeric Types 數字類型
Range and Precision 範圍與精度
Exact, Correctly Rounded and Out-Of-Range Representations 精確的、適當捨入的和超出範圍的表示法
Standard (numeric) Conversions 標準的(數字)轉換
Subranged Conversion Direction, Subtype and Supertype 子範圍轉換方向、子類型和父類型
converter<> function object  converter<> 函數對像
Synopsis 摘要
Template parameters 模板參數
Member functions 成員函數
Range Checking Logic 範圍檢查邏輯
Examples 例子
Type Requirements and User-defined-types support 類型要求和用戶自定義類型支持
Type Requirements 類型要求
UDT's special semantics 用戶自定義類型的特殊語義
Special Policies 特殊策略
bounds<> traits class  bounds<> traits 類
Introduction 簡介
traits class bounds<N>  traits 類 bounds<N>
Examples 例子
conversion_traits<> traits class  conversion_traits<> traits 類
Types 類型
Examples 例子
Numeric Converter Policy Classes 數字轉換器策略類
enum range_check_result
Policy OverflowHandler 策略 OverflowHandler
Policy Float2IntRounder 策略 Float2IntRounder
Policy RawConverter 策略 RawConverter
Policy UserRangeChecker 策略 UserRangeChecker
Improved numeric_cast<> 改進的 numeric_cast<>
Introduction 簡介
Examples 例子
History and Acknowledgments 歷史與鳴謝
Bibliography 參考書目

The Boost Numeric Conversion library is a collection of tools to describe and perform conversions between values of different numeric types.
Boost Numeric Conversion 庫是一組用於描述和執行不同 數 字類型 間的轉換的工具。

The library includes a special alternative for a subset of std::numeric_limits<>, the bounds<> traits class, which provides a consistent way to obtain the boundary values for the range of a numeric type.
本庫包含了 std::numeric_limits<> 的一個子集的特殊替代物,bounds<> traits 類,它提供了一致的方式來獲得一個數字類型的 范 圍邊 界 值。

It also includes a set of trait classes which describes the compile-time properties of a conversion from a source to a target numeric type. Both arithmetic and user-defined numeric types can be used.
它還包括了一組 trait 類, 用於描述一個從源數字類型到目標數字類型的轉換的一些編譯期屬性。算 術類型用 戶自定義的數字類型 均可使用。

A policy-based converter object which uses conversion_traits to select an optimized implementation is supplied. Such implementation uses an optimal range checking code suitable for the source/target combination.
一個基於策略的 轉換器 對象,提供了使用 conversion_traits 來選擇優化的實現。該實現使用一個優化的適用於源/目標組合的範圍檢查代碼。

  • The converter's out-of-range behavior can be customized via an OverflowHandler policy.
    轉換器的溢出行為可以通過 OverflowHandler 策略來定制。
  • For floating-point to integral conversions, the rounding mode can be selected via the Float2IntRounder policy.
    對於浮點數到整數的轉換,捨入的模式可以通過 Float2IntRounder 策略來選擇。
  • A custom low-level conversion routine (for UDTs for instance) can be passed via a RawConverter policy.
    定制的低級轉換程序(如用於UDT)可通過 RawConverter 策略傳入。
  • The optimized automatic range-checking logic can be overridden via a UserRangeChecker policy.
    優化的自動範圍檢查邏輯可通過 UserRangeChecker 策略進行重載。

Last revised: October 10, 2008 at 20:47:59 GMT