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

From KlayGE
Jump to: navigation, search
m
 
(27 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(没有直接使用,VC11+不使用)
+
*Filesystem(在VC11+中可以用TR2代替)
+
*Program Options(仅用于[[工具集]])
+
*Regex(仅用于[[工具集]],可以用C++11代替)
+
*System(可以用C++11代替)
+
*Thread(可以用C++11代替)
+
  
 
只有头文件的boost库:
 
只有头文件的boost库:
 
*Algorithm/string
 
*Algorithm/string
*Any
+
*'''Any''' (C++17)
*Array(可以用C++11代替)
+
 
*Assert
 
*Assert
*Assign
 
*Bind(可以用C++11代替)
 
*Circular Buffer
 
 
*Container/flat_map
 
*Container/flat_map
*Foreach(可以用C++11代替)
+
*Core/noncopyable
*Function(可以用C++11代替)
+
*'''Optional''' (C++17)
*Functional/Hash
+
*TypeIndex
*Integer(可以用C++11代替)
+
*Utility/Operators
*Interprocess
+
*'''Utility/string_view''' (C++17)
*Lexical Cast
+
*Lock free
+
*Member Function(可以用C++11代替)
+
*Move(可以用C++11代替)
+
*MPL/if_(可以用C++11代替)
+
*MPL/void_
+
*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/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的。