1 // テキスト処理を行うテストのデバッグ用途に利用される、
2 // 簡単なテキストフォーマットであるTextArrayFormatの実装を提供します。
3 // TextArrayFormatは、TextArrayGeneratorにて文字列からの生成を行い
4 // TextArrayReaderによって、テキストブロックを取得することができます。
6 // これらは柔軟に行うことができるため、テキストを扱うテストデータを
8 #ifndef _UTAKATA_SRC_COMMON_TEXTARRAYFORMAT_H_
9 #define _UTAKATA_SRC_COMMON_TEXTARRAYFORMAT_H_
17 namespace textarrayformat {
19 class OutOfIndexException : public std::exception
22 OutOfIndexException(const std::string& str);
23 virtual ~OutOfIndexException() throw() {}
25 virtual const char* what() const throw();
28 const std::string str_;
35 explicit TextArrayReader(const TextArrayGenerator& is);
36 virtual ~TextArrayReader() {}
38 // 指定したストリームの先頭からフォーマットに従ってブロック単位
40 // この関数が成功した場合、以前のブロックなどは保存されない。
41 void open(std::istream& is);
44 // 番号を指定しない場合には、最初に取得したブロックが取得される。
45 std::string get(int = 0);
48 const std::vector<std::string>& getBlock() const {return blocks_;}
52 // ファイル中のスプリッタを行ごと退避する。
53 std::string splitter_;
55 // テキストのブロックを退避しておくリスト
56 std::vector<std::string> blocks_;
60 }; // end of namespace utility
62 #endif /* _C:_MEADOW_DEVELOP_UTAKATA_SRC_COMMON_TEXTARRAYFORMAT_H_ */