## Struct header

hamigaki::archivers::tar::header —

## Synopsis

    struct header {

      // queries
      bool is_regular() const;
      bool is_directory() const;
      bool is_symlink() const;

      // modifiers
      void type(filesystem::file_type);

      boost::filesystem::path path;
      boost::uint16_t permissions;
      boost::intmax_t uid;
      boost::intmax_t gid;
      boost::uintmax_t file_size;
      boost::optional<filesystem::timestamp> modified_time;
      boost::optional<filesystem::timestamp> access_time;
      boost::optional<filesystem::timestamp> change_time;
      char type_flag;
      boost::filesystem::path link_path;
      file_format format;
      std::string user_name;
      std::string group_name;
      boost::uint16_t dev_major;
      boost::uint16_t dev_minor;
      std::string comment;
    };

## Description

メンバ変数 | 意味 | 規定値
--- | --- | ---
path | ファイルのパス名 |
permissions | ファイル許可属性 (ファイル種別は無視される) | 0644
uid | ユーザーID | 0
gid | グループID | 0
file_size | ファイルサイズ | 0
modified_time | 最終更新時間 |
access_time | 最終アクセス時間 |
change_time | 最終状態変更時間 |
type_flag | ファイルの種類 (type_flag構造体内の定数のいずれか) | `type_flag::regular`
link_path | リンク先のパス名 |
format | tar ファイルのフォーマット | gnu
user_name | ユーザー名 |
group_name | グループ名 |
dev_major | デバイスメジャー番号 | 0
dev_minor | デバイスマイナー番号 | 0
comment | コメント文字列 |

### `header` queries

1.     bool is_regular() const;

   Returns: | 通常のファイルであれば`true`、それ以外なら`false`

2.     bool is_directory() const;

   Returns: | ディレクトリであれば`true`、それ以外なら`false`

3.     bool is_symlink() const;

   Returns: | シンボリックリンクであれば`true`、それ以外なら`false`

### `header` modifiers

1.     void type(filesystem::file_type v);

   Effects: | ファイル種別を`v`に設定する

| 製作著作 © 2006, 2007 Takeshi Mouri