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

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