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

From KlayGE
Jump to: navigation, search
m
 
(36 intermediate revisions by one user not shown)
Line 2: Line 2:
  
 
需要编译才能使用的boost库:
 
需要编译才能使用的boost库:
*Atomic(可以用C++11代替)
+
*'''Filesystem'''(在msvc和gcc中可以用TS或C++17的代替。)
*Chrono(可以用C++11代替)
+
*Date Time(没有直接使用)
+
*Filesystem(在VC11中可以用TR2代替)
+
*Program Options(仅用于工具)
+
*Regex(仅用于工具,可以用C++11代替)
+
*System(可以用C++11代替)
+
*Thread(可以用C++11代替)
+
  
 
只有头文件的boost库:
 
只有头文件的boost库:
*Algorithm
+
*Algorithm/string
*Any
+
*'''Any''' (C++17)
*Array(可以用C++11代替)
+
*Assign
+
 
*Assert
 
*Assert
*Bind(可以用C++11代替)
+
*Container/flat_map
*Circular Buffer
+
*Core/noncopyable
*Container
+
*'''Optional''' (C++17)
*Foreach(可以用C++11代替)
+
*TypeIndex
*Function
+
*Utility/Operators
*Functional/Hash
+
*'''Utility/string_view''' (C++17)
*Integer(可以用C++11代替)
+
*Interprocess
+
*Lexical Cast
+
*Member Function(可以用C++11代替)
+
*MPL(if_可以用C++11代替)
+
*Operators
+
*Optional
+
*Random(可以用C++11代替)
+
*Ref(可以用C++11代替)
+
*Signals2
+
*Smart Ptr(可以用C++11代替)
+
*Static Assert(可以用C++11代替)
+
*Tokenizer
+
*Tuple(可以用C++11代替)
+
*Type Traits(可以用C++11代替)
+
*Typeof(可以用C++11代替)
+
*Unordered(可以用C++11代替)
+
*Utility(result_of可以用C++11代替)
+
  
随着支持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]]

Latest revision as of 01: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的。