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

From KlayGE
Jump to: navigation, search
m
m
Line 17: Line 17:
 
*Assign
 
*Assign
 
*Assert
 
*Assert
*Bind
+
*Bind(可以用C++11代替)
 
*Circular Buffer
 
*Circular Buffer
 
*Container
 
*Container
Line 26: Line 26:
 
*Interprocess
 
*Interprocess
 
*Lexical Cast
 
*Lexical Cast
*Member Function
+
*Member Function(可以用C++11代替)
 
*MPL(if_可以用C++11代替)
 
*MPL(if_可以用C++11代替)
 
*Operators
 
*Operators
 
*Optional
 
*Optional
 
*Random(可以用C++11代替)
 
*Random(可以用C++11代替)
*Ref
+
*Ref(可以用C++11代替)
 
*Signals2
 
*Signals2
*Smart Ptr
+
*Smart Ptr(可以用C++11代替)
 
*Static Assert(可以用C++11代替)
 
*Static Assert(可以用C++11代替)
 
*Tokenizer
 
*Tokenizer

Revision as of 03:16, 2 March 2013

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

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

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

只有头文件的boost库:

  • Algorithm
  • Any
  • Array(可以用C++11代替)
  • Assign
  • Assert
  • Bind(可以用C++11代替)
  • Circular Buffer
  • Container
  • Foreach(可以用C++11代替)
  • Function
  • Functional/Hash
  • 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的编译器上才采用boost。