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

From KlayGE
Jump to: navigation, search
Line 2: Line 2:
  
 
需要编译才能使用的boost库:
 
需要编译才能使用的boost库:
*Filesystem(在VC12+中可以用Filesystem TS的代替。)
+
*Filesystem(在VC12+中可以用Filesystem TS/C++17的代替。)
 
*Program Options(仅用于[[工具集]]。)
 
*Program Options(仅用于[[工具集]]。)
 
*'''Regex'''(仅用于[[工具集]],VC12+不使用。)
 
*'''Regex'''(仅用于[[工具集]],VC12+不使用。)
Line 10: Line 10:
 
只有头文件的boost库:
 
只有头文件的boost库:
 
*Algorithm/string
 
*Algorithm/string
*Any (Library fundamentals TS)
+
*Any (Library fundamentals TS/C++17)
 
*Assert
 
*Assert
 
*Circular Buffer
 
*Circular Buffer
Line 18: Line 18:
 
*Lock free
 
*Lock free
 
*Operators
 
*Operators
*Optional (Library fundamentals TS)
+
*Optional (Library fundamentals TS/C++17)
 
*Signals2
 
*Signals2
 
*Utility/noncopyable
 
*Utility/noncopyable

Revision as of 00:53, 1 July 2016

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

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

  • Filesystem(在VC12+中可以用Filesystem TS/C++17的代替。)
  • Program Options(仅用于工具集。)
  • Regex(仅用于工具集,VC12+不使用。)
  • System(没有直接使用,VC12+不使用。)
  • Test (仅用于测试。)

只有头文件的boost库:

  • Algorithm/string
  • Any (Library fundamentals TS/C++17)
  • Assert
  • Circular Buffer
  • Container/flat_map
  • Functional/Hash
  • Lexical Cast
  • Lock free
  • Operators
  • Optional (Library fundamentals TS/C++17)
  • Signals2
  • Utility/noncopyable

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