The File Position 文件位置

Introduction 簡介
Header 'wave/util/file_position.hpp' synopsis 頭文件概要
Template parameters 模板參數
Member functions 成員函數

Introduction 簡介

The file position template is used to represent a concrete token position inside the underlying input stream. This token position contains the corresponding filename, the line number and the column number, where the token was recognized.
file position 模板用於表示一個具體的單詞在底層輸入流中的位置。這個位置包含有相應的文件名、識別出該單詞的行號和列號。

Header wave/util/file_position.hpp synopsis 頭文件概要

namespace boost {
namespace wave {
namespace util {

template <typename String = std::string>
class file_position {

public:
file_position();
explicit file_position(String const &file,
int line_ = 1, int column_ = 1);

// accessors
String const &get_file() const;
int get_line() const;
int get_column() const;

void set_file(String const &file);
void set_line(int line);
void set_column(int column);
};

} // namespace util } // namespace wave } // namespace boost

Template parameters 模板參數

The file_position template used by the default token type has to be instantiated with one template parameter, which gives the string type to use for storing the file name member of the file position. If this parameter isn't given, it defaults to a std::string. Please note, that the type given as the template parameter must be compatible with a std::string.
缺省的單詞類型所使用的 file_position 模板必須以一個模板參數來初始化,該參數給定了用於保存文件名的字符串類型。如果該參數未給出,則缺省為 std::string。請注意,這個模板參數所給出的類型必須兼容於 std::string

You may use your own position types if appropriate, but in any case these should implement the same interface as the file_position template described here.
如果適合,你可以使用你自己的位置類型,不過在任何情況下,都應該實現與上述  file_position 模板相同的接口。

Member functions 成員函數

Constructors 構造函數

        file_position();
explicit file_position(String const &file,
int line_ = 1, int column_ = 1);

The constructors initialize a new instance of a file_position in correspondence to the supplied parameters. The parameters default to an empty filename and the line number and column number set to one.
這個構造函數根據給定的參數初始化一個新的 file_position 實例。其參數缺省為空文件名,且行號與列號均設為零。

get_file, get_line, get_column

        String const &get_file() const;
int get_line() const;
int get_column() const;

The get_... functions are used to access the current values of the file position members: the filename (get_file), the line number (get_line) and the column number (get_column).
get_... 函數用於訪問文件位置各個成員的當前值:文件名(get_file),行號(get_line)和列號(get_column)。

set_file, set_line, set_column

        void set_file(String const &file);
void set_line(int line);
void set_column(int column);

The set_... functions are used to set new values to the file position members: the filename (set_file), the line number (set_line) and the column number (set_column).
set_... 函數用於為文件位置的各個成員設置新值:文件名(set_file),行號(set_line)和列號(set_column)。