Difference between revisions of "使用到的boost库"

From KlayGE
Jump to: navigation, search
m
 
(47 intermediate revisions by one user not shown)
Line 2: Line 2:
  
 
需要编译才能使用的boost库:
 
需要编译才能使用的boost库:
*Chrono(没有直接使用)
+
*'''Filesystem'''(在msvc和gcc中可以用TS或C++17的代替。)
*Date Time
+
*Filesystem
+
*Program Options(仅用于工具)
+
*Regex(仅用于工具)
+
*Signals
+
*System(没有直接使用)
+
*Thread
+
 
+
  
 
只有头文件的boost库:
 
只有头文件的boost库:
*Algorithm
+
*Algorithm/string
*Any
+
*'''Any''' (C++17)
*Array
+
*Assign
+
 
*Assert
 
*Assert
*Bind
+
*Container/flat_map
*Circular Buffer
+
*Core/noncopyable
*Container
+
*'''Optional''' (C++17)
*Foreach
+
*TypeIndex
*Function
+
*Utility/Operators
*Functional/Hash
+
*'''Utility/string_view''' (C++17)
*Integer
+
 
*Interprocess
+
标记为粗体的可以用C++11或C++17的功能代替。随着支持C++11/17的编译器的普及,这些库都会切换到[[使用到的C++11特性|C++11]]或[[使用到的C++17特性|C++17]]。除非迫不得已才用boost的。
*Lexical Cast
+
*Member Function
+
*MPL
+
*Operators
+
*Pool
+
*Random
+
*Ref
+
*Smart Ptr
+
*Static Assert
+
*Tokenizer
+
*Tuple
+
*Type Traits
+
*Typeof
+
*Unordered
+
*Utility
+
  
随着支持C++11的编译器的普及,以后打算逐渐切换到使用C++11的库。只有在不支持C++11的编译器上才采用boost。
+
[[en:Used boost libraries]]

Latest revision as of 02:32, 26 July 2019

KlayGE的很多代码都依赖于boost。以下列出使用到boost中的各个部分。

需要编译才能使用的boost库:

  • Filesystem(在msvc和gcc中可以用TS或C++17的代替。)

只有头文件的boost库:

  • Algorithm/string
  • Any (C++17)
  • Assert
  • Container/flat_map
  • Core/noncopyable
  • Optional (C++17)
  • TypeIndex
  • Utility/Operators
  • Utility/string_view (C++17)

标记为粗体的可以用C++11或C++17的功能代替。随着支持C++11/17的编译器的普及,这些库都会切换到C++11C++17。除非迫不得已才用boost的。