2010年11月7日 星期日

DebugStream for C++

千年發文

其實這是剛才心血來潮寫的小 helper class

主要用途是來控制輸出資訊用的

並且可以在輸出時指定輸出等級, 例如 lv 3 以上才輸出之類的

廢話不多說先來段使用範例

#include "DebugStream.hpp" 
// 使用前只要 include header 就可以了
#include <iomanip>  
// iomanip for std::setprecision
int main(){
  DebugStream ds(10);       
  // 開一個 DebugStream, debug level 設為 10
  ds[3] << "abc\n";   
  // verbose level 3, 小於debug level 所以會被印出來
  ds[11] << "XD\n";   
  // verbose level 11, 大於debug level 所以不會被印出來
  ds[8] << 123 << std::endl;
  ds.precision(2);          
  // 跟平常使用 cout 習慣一樣喔~
  ds[5] << 0.54321 << std::endl; 
  ds[5] << std::setprecision(4) << 0.12354 << std::endl; 
  // 當然也可以採用這種方式~
  return 0;
}

預計未來可能應該大概會加入 printf 的功能來達到 ds[3].printf("%d", 3); 之類的功能

code 按這裡取得完整程式碼

沒有留言:

張貼留言