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

From KlayGE
Jump to: navigation, search
Line 23: Line 23:
 
*Functional/Hash
 
*Functional/Hash
 
*Integer(可以用C++11代替)
 
*Integer(可以用C++11代替)
*Interprocess
 
 
*Lexical Cast
 
*Lexical Cast
 
*Lock free
 
*Lock free

Revision as of 19:59, 9 August 2014

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

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

  • Atomic(可以用C++11代替)
  • Chrono(可以用C++11代替)
  • Date Time(没有直接使用,VC11+不使用)
  • Filesystem(在VC11+中可以用TR2代替)
  • Program Options(仅用于工具集
  • Regex(仅用于工具集,可以用C++11代替)
  • System(可以用C++11代替)
  • Thread(可以用C++11代替)

只有头文件的boost库:

  • Algorithm/string
  • Any
  • Array(可以用C++11代替)
  • Assert
  • Bind(可以用C++11代替)
  • Circular Buffer
  • Container/flat_map
  • Foreach(可以用C++11代替)
  • Function(可以用C++11代替)
  • Functional/Hash
  • Integer(可以用C++11代替)
  • 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。只有必要的时候才采用boost。