Boost 函式庫文件
排序方式
- 累加器 (Accumulators):用於增量計算和統計累加器集合的框架。
- 演算法 (Algorithm):一系列有用的泛型演算法。
- 對齊 (Align):記憶體對齊函式、配置器、特性。
- 任意型別 (Any):安全、泛型的容器,用於儲存不同值的單一值。
- 陣列 (Array):符合 STL 標準的定長陣列容器包裝器。
- Asio:可攜式網路和其他低階 I/O,包含通訊端、計時器、主機名稱解析、通訊端 iostreams、序列埠、檔案描述符和 Windows HANDLE。
- 斷言 (Assert):可自訂的斷言巨集。
- 賦值 (Assign):用常數或產生的資料填充容器變得前所未有的簡單。
- 原子操作 (Atomic):C++11 風格的原子型別。
- Beast:僅使用 C++11 和 Boost.Asio 的可攜式 HTTP、WebSocket 和網路操作函式庫。
- 雙向映射 (Bimap):C++ 的雙向映射函式庫。使用 Boost.Bimap,您可以建立兩種型別都可以作為鍵值的關聯式容器。
- 繫結 (Bind):boost::bind 是標準函式 std::bind1st 和 std::bind2nd 的泛化。它支援任意函式物件、函式、函式指標和成員函式指標,並且能夠將任何引數繫結到特定值或將輸入引數路由到任意位置。
- 呼叫特性 (Call Traits):定義用於傳遞參數的型別。
- 可呼叫特性 (CallableTraits):Boost.FunctionTypes 的精神繼承者,Boost.CallableTraits 是一個僅標頭檔的 C++11 函式庫,用於編譯時期檢查和操作所有「可呼叫」型別。額外支援 C++17 功能。
- 字元轉換 (CharConv):C++11 中 <charconv> 的實現。
- 時間 (Chrono):有用的時間工具。C++11。
- 環形緩衝區 (Circular Buffer):符合 STL 標準的容器,也稱為環狀或循環緩衝區。
- Cobalt:協程。基本演算法與型別
- 相容性 (Compat):在較新 C++ 標準中新增的標準組件的 C++11 實現。
- 相容性 (Compatibility):為不符合標準的標準函式庫提供協助。
- 壓縮配對 (Compressed Pair):具有空成員最佳化的配對類別。
- 計算 (Compute):平行/GPU 運算函式庫
- 概念檢查 (Concept Check):泛型程式設計的工具。
- 設定 (Config):協助 Boost 函式庫開發人員適應編譯器的特性;不適用於函式庫使用者。
- 容器 (Container):標準函式庫容器及其擴充。
- 容器雜湊 (Container Hash):一個與 STL 相容的雜湊函式物件,可以擴充以雜湊使用者定義的類型。
- 容器雜湊 (Container Hash):一個與 STL 相容的雜湊函式物件,可以擴充以雜湊使用者定義的類型。
- 情境 (Context):(C++11) 情境切換函式庫。
- 契約式設計 (Contract):C++ 的契約式設計。支援所有契約式設計的功能:子合約、類別不變量、後置條件(包含舊值和返回值)、前置條件、可自訂的斷言失敗動作(例如,終止或拋出異常)、可選的斷言編譯和檢查等。
- 轉換 (Conversion):多型轉換。
- 轉換 (Convert):一個可擴充且可配置的類型轉換框架。
- 核心 (Core):具有最小依賴性的簡單核心工具集合。
- 協程 (Coroutine) (已棄用):協程函式庫。
- 協程2 (Coroutine2):(C++11) 協程函式庫。
- 循環冗餘校驗 (CRC):Boost CRC 函式庫提供兩種 CRC(循環冗餘校驗)計算物件的實現和兩種 CRC 計算函式的實現。這些實現是基於模板的。
- 日期時間 (Date Time):基於泛型程式設計概念的日期時間函式庫集合。
- 描述 (Describe):一個 C++14 反射函式庫。
- 動態連結程式庫 (DLL):用於輕鬆處理 DLL 和 DSO 的函式庫。
- 動態位元集 (Dynamic Bitset):dynamic_bitset 類別表示一個位元集合。它透過 operator[] 提供對個別位元值的存取,並提供所有可以應用於內建整數的位元運算子,例如 operator& 和 operator<<。集合中的位元數是在執行時透過 dynamic_bitset 建構函式的參數指定的。
- 啟用條件 (Enable If):函式模板重載的選擇性包含。
- 位元組序 (Endian):用於正確位元組序和其他用途的類型和轉換函式,與處理器位元組序無關。
- 異常 (Exception):Boost 異常函式庫支援在異常物件中傳輸任意資料,以及在執行緒之間傳輸異常。
- 纖維 (Fiber):(C++11) 使用者層級執行緒函式庫。
- 檔案系統 (Filesystem):Boost 檔案系統函式庫提供可攜式工具來查詢和操作路徑、檔案和目錄。
- 享元 (Flyweight):用於管理大量高度冗餘物件的設計模式。
- 迴圈迭代 (Foreach):在 C++ 中,編寫迭代序列的迴圈很繁瑣。我們可以使用迭代器,這需要大量的樣板程式碼,或者我們可以使用 std::for_each() 演算法並將迴圈主體移到謂詞中,這需要同樣多的樣板程式碼,並迫使我們將邏輯移到遠離使用位置的地方。相比之下,其他一些語言,例如 Perl,提供了一個專用的「foreach」結構來自動化這個過程。BOOST_FOREACH 就是 C++ 的這樣一個結構。它為我們迭代序列,使我們不必直接處理迭代器或編寫謂詞。
- 格式 (Format):格式函式庫提供了一種類型安全的機制,根據類似 printf 的格式字串來格式化參數。
- 函式 (Function):用於延遲呼叫或回調的函式物件包裝器。
- 函式類型 (Function Types):Boost.FunctionTypes 提供分類、分解和合成函式、函式指標、函式參考和成員指標類型的功能。
- 泛函 (Functional):Boost.Function 函式庫包含一系列函式物件包裝器的類別模板。
- 泛函/工廠 (Functional/Factory):用於動態和靜態物件建立的函式物件模板。
- 泛函/轉發 (Functional/Forward):允許泛型函式物件接受任意參數的配接器。
- 泛函/多載函式 (Functional/Overloaded Function):將不同的函式多載到單個函式物件中。
- Fusion:用於處理元組的函式庫,包括各種容器、演算法等。
- 幾何 (Geometry):Boost.Geometry 函式庫提供幾何演算法、基本類型和空間索引。
- GIL:(C++14) 通用影像函式庫 (Generic Image Library)。
- 圖 (Graph):BGL 圖介面和圖組件是泛型的,與標準樣板函式庫 (STL) 的概念相同。
- 平行圖 (GraphParallel):PBGL 圖介面和圖組件是泛型的,與標準樣板函式庫 (STL) 的概念相同。
- Hana:一個現代的 C++ 元程式設計函式庫。它提供操作異質序列的高階演算法,允許使用自然的語法編寫類型層級的計算,提供用於檢視使用者自訂類型的工具等等。
- 堆積 (Heap):優先佇列資料結構。
- 直方圖 (Histogram):適用於 C++14 的快速多維直方圖,具有便捷的介面。
- HOF:C++ 的高階函式 (Higher-order functions)。
- ICL:區間容器函式庫 (Interval Container Library),區間集合和映射以及相關值的聚合。
- 識別類型 (Identity Type):將類型用圓括號括起來,以便它們始終可以作為巨集參數傳遞。
- 就地工廠、類型化就地工廠 (In Place Factory, Typed In Place Factory):使用可變參數列表就地建構包含的物件。
- 整數 (Integer):Boost 整數標頭檔和類別的組織旨在利用 1999 C 標準中的 <stdint.h> 類型,而無需在 1998 C++ 標準方面訴諸未定義行為。標頭檔 <boost/cstdint.hpp> 使標準整數類型在 boost 命名空間中安全可用,而不會在 std 命名空間中放置任何名稱。
- 行程間通訊 (Interprocess):共享記憶體、記憶體映射檔案、行程共享互斥鎖、條件變數、容器和配置器。
- 區間 (Interval):將常用的算術函式擴展到數學區間。
- 侵入式 (Intrusive):侵入式容器和演算法。
- IO:標準 I/O 函式庫的工具程式。
- IO 串流 (Iostreams):Boost.IOStreams 提供了一個用於定義串流、串流緩衝區和 i/o 過濾器的框架。
- 迭代器 (Iterator):Boost 迭代器函式庫包含兩個部分。第一部分是一個概念系統,它擴展了 C++ 標準迭代器的要求。第二部分是一個基於這些擴展概念構建迭代器的組件框架,並包含幾個有用的迭代器配接器。
- JSON:C++11 中的 JSON 解析、序列化和 DOM。
- Lambda:在實際呼叫位置定義小型未命名函式物件等等。
- Lambda2:一個 C++14 lambda 函式庫。
- LEAF:一個輕量級的 C++11 錯誤處理函式庫。
- 字面轉換 (Lexical Cast):通用的字面文字轉換,例如將整數表示為字串,或反之亦然。
- 局部函式 (Local Function):在其他函式內部、直接在其所需的作用域內,局部地編寫函式。
- 地區設定 (Locale):為 C++ 提供本地化和 Unicode 處理工具。
- 無鎖 (Lockfree):無鎖資料結構。
- 日誌 (Log):日誌函式庫。
- 數學 (Math):Boost.Math 包含數學領域的幾個貢獻:浮點數工具、特定寬度浮點數類型、數學常數、統計分佈、特殊函數、求根和函數最小化、多項式和有理函數、插值以及數值積分和微分。許多這些功能都模板化以支援內建類型和擴展寬度類型(例如 Boost.Multiprecision)。
- 數學公因數 (Math Common Factor):最大公因數和最小公倍數。
- 數學八元數 (Math Octonion):八元數。
- 數學四元數 (Math Quaternion):四元數。
- 數學/特殊函數 (Math/Special Functions):各種數學特殊函數。
- 數學/統計分佈 (Math/Statistical Distributions):各種單變量統計分佈及其運算函數。
- 成員函式 (Member Function):函式/物件/指標和成員函式的通用綁定器。
- 元狀態機 (Meta State Machine):一個用於表達 UML2 有限狀態機的高性能函式庫。
- 元解析 (Metaparse):一個用於生成編譯時期解析器的函式庫,可在 C++ 編譯過程中解析嵌入式 DSL 程式碼。
- 最小值-最大值 (Min-Max):標準函式庫擴展,用於同時計算最小值/最大值和最小值/最大值元素。
- 移動 (Move):適用於 C++03 和 C++11 編譯器的可攜式移動語義。
- Mp11:一個 C++11 元程式設計函式庫。
- MPI:訊息傳遞介面函式庫,用於分散式記憶體平行應用程式設計。
- MPL:Boost.MPL 函式庫是一個通用的、高階的 C++ 樣板元程式設計框架,包含編譯時期演算法、序列和元函數。它提供了一個概念基礎和一套廣泛的強大且一致的工具,使在目前的語言中進行顯式元程式設計盡可能簡單和愉快。
- 多維陣列 (Multi-Array):Boost.MultiArray 提供了一個通用的 N 維陣列概念定義和該介面的常見實現。
- 多重索引 (Multi-Index):Boost 多重索引容器函式庫提供了一個名為 multi_index_container 的類別樣板,它可以建構容器,並維護一個或多個具有不同排序和存取語義的索引。
- 多精度 (Multiprecision):用於浮點數、整數和有理數算術的擴展精度算術類型。
- MySQL:基於 Boost.Asio 建構的 MySQL 用戶端函式庫。
- Nowide:在 Windows 上提供 UTF-8 API 的標準函式庫。
- 數值轉換:基於策略的最佳化數值轉換。
- Odeint:求解常微分方程式。
- 運算子:簡化算術類別和迭代器中運算子定義的模板。
- Optional:一個值語義、類型安全的包裝器,用於表示給定類型的「可選」(或「可空」)物件。一個可選物件可能包含也可能不包含底層類型值。
- Outcome:一個確定性錯誤處理程式庫,部分模擬輕量級異常。
- Parameter:Boost.Parameter 函式庫 - 撰寫可接受具名參數的函式。
- Parameter Python 綁定:Boost.Parameter 函式庫的 Python 綁定。
- Parser:一個解析器組合子程式庫。
- PFR:使用者自定義類型的基本反射。
- Phoenix:在實際呼叫位置定義小的匿名函式物件等等。
- 指標容器:用於儲存堆積配置的多型物件的容器,以簡化物件導向程式設計。
- PolyCollection:快速的多型物件容器。
- Polygon:具有整數座標的平面多邊形的 Voronoi 圖構造、布林運算/裁剪、調整大小/偏移等功能。
- Pool:記憶體池管理。
- Predef:此程式庫根據從 C、C++、Objective C 和 Objective C++ 預定義巨集或常見標頭檔中收集的資訊,定義了一組編譯器、架構、作業系統、程式庫和其他版本號。
- Preprocessor:預處理器元程式設計工具,包含重複和遞迴。
- Process:以可攜式方式建立行程的程式庫。
- Program Options:program_options 函式庫允許程式開發人員透過傳統方法(例如命令列和設定檔)從使用者取得程式選項,即 (名稱, 值) 對。
- Property Map:定義將鍵物件映射到值物件的介面的概念。
- Property Map (平行):Property Map 的平行擴充,用於搭配平行圖使用。
- Property Tree:一種樹狀資料結構,特別適用於儲存設定資料。
- Proto:用於特定領域嵌入式語言的表達式模板程式庫和編譯器建構工具包。
- Python:Boost Python 函式庫是一個用於連接 Python 和 C++ 的框架。它允許您使用 C++ 編譯器快速且無縫地將 C++ 類別、函式和物件公開給 Python,反之亦然,無需任何特殊工具。
- QVM:用於處理四元數、向量和矩陣的泛型 C++ 程式庫。
- Random:一個完整的隨機數產生系統。
- Range:一個基於新的迭代器概念構建的泛型演算法的新基礎設施。
- Ratio:編譯時期有理數運算。C++11。
- Rational:一個有理數類別。
- Redis:基於 Boost.Asio 構建的 Redis 非同步客戶端程式庫。
- Ref:用於將引用傳遞給泛型函式的工具庫。
- Regex:正規表達式庫。
- Result Of:判斷函式呼叫表達式的類型。
- Safe Numerics:保證正確的整數算術。
- Scope:範圍守衛的集合和一個 unique_resource 包裝器。
- Scope Exit:在範圍退出時執行任意程式碼。
- Serialization:用於持久化和編組的序列化功能。
- Signals2:受管理的信號與槽回呼機制實作(執行緒安全版本 2)。
- Smart Ptr:智慧指標類別模板。
- Sort:高效能的模板化排序函式。
- Spirit:LL 解析器框架,將解析器直接表示為嵌入式 C++ 中的 EBNF 語法。
- Spirit Classic:LL 解析器框架,將解析器直接表示為嵌入式 C++ 中的 EBNF 語法。
- Spirit Repository:Spirit 儲存庫是一個社群專案,收集 Qi 解析器和 Karma 產生器的各種可重複使用的元件(基元、指令、語法等)。
- Stacktrace:收集、儲存、複製和列印回溯資訊。
- Statechart:Boost.Statechart - 可以使用易於閱讀和維護的 C++ 程式碼實現任意複雜的有限狀態機。
- Static Assert:靜態斷言(編譯時斷言)。
- Static String:固定容量的動態大小字串。
- Stl_interfaces:用於定義迭代器、視圖和容器的 C++14 和更新版本的 CRTP 模板。
- String Algo:字串演算法庫。
- String Ref:字串檢視模板。
- String View:字串檢視模板。
- Swap:增強的泛型交換函式。
- System:可擴展的錯誤報告機制。
- Test:支援簡單的程式測試、完整的單元測試和程式執行監控。
- Thread:可移植的 C++ 多執行緒功能。C++11、C++14、C++17。
- ThrowException:從 Boost 函式庫拋出異常的通用基礎結構。
- Timer:事件計時器、進度計時器和進度顯示類別。
- Tokenizer:將字串或其他字元序列分解成一系列標記。
- Tribool:三態布林值類型庫。
- TTI:類型特徵自省庫。
- Tuple:簡化返回多個值的函式的定義等。
- Type Erasure:基於概念的執行時多型。
- Type Index:執行時/編譯時可複製的類型資訊。
- Type Traits:類型基本屬性的模板。
- Typeof:Typeof 運算子模擬。
- uBLAS:uBLAS 提供張量、矩陣和向量類別,以及基本的線性代數例程。支援多種密集、壓縮和稀疏儲存方案。
- Units:零額外開銷的量綱分析和單位/數量操作及轉換。
- Unordered:無序關聯式容器。
- URL:C++11 的 URL 解析。
- Utility:各種工具程式,例如 base-from-member idiom 和 C++03 中的二進位字面常數。
- Uuid:通用唯一識別碼。
- Value Initialized:基於 David Abrahams 的原始構想,用於統一語法值初始化的包裝器。
- Variant:安全的、泛型的、基於堆疊的具有類型區分的聯合容器。
- Variant2:std::variant 的永不無值、強保證的實現。
- VMD:可變參數巨集資料庫。
- Wave:Boost.Wave 函式庫是一個符合標準且高度可配置的 C99/C++ 預處理器功能實現,它以易於使用的迭代器介面提供。
- Xpressive:可以用字串或表達式模板編寫的正規表達式,並且可以利用上下文無關文法的功能遞迴地相互引用和自我引用。
- YAP:適用於 C++14 和更新版本的表達式模板函式庫。