## Struct header

hamigaki::archivers::zip::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::filesystem::path link_path;
      boost::uint8_t version;
      bool encrypted;
      boost::uint16_t encryption_checksum;
      boost::uint16_t method;
      std::time_t update_time;
      boost::uint32_t crc32_checksum;
      boost::uint64_t compressed_size;
      boost::uint64_t file_size;
      boost::uint16_t attributes;
      boost::uint16_t permissions;
      std::string comment;
      boost::optional<std::time_t> modified_time;
      boost::optional<std::time_t> access_time;
      boost::optional<std::time_t> creation_time;
      boost::optional<boost::uint16_t> uid;
      boost::optional<boost::uint16_t> gid;
    };

## Description

メンバ変数 | 意味 | 規定値
--- | --- | ---
path | ファイルのパス名 |
link_path | リンク先のパス名 |
version | ZIPバージョン×10 | 20
encrypted | 暗号化されているかどうか | false
encryption_checksum | 復号確認用チェックサム | 0
method | 圧縮メソッド (method構造体内の定数のいずれか) | `method::deflate`
update_time | 最終更新時間 | 0
crc32_checksum | CRC-32 チェックサム | 0
compressed_size | 圧縮後のサイズ | 0
file_size | 圧縮前のサイズ | 0
attributes | MS-DOS ファイル属性 (msdos::attributes構造体内の定数のいずれか、あるいはその組み合わせ) | `msdos::attributes::archive`
permissions | ファイル許可属性 | 0644
comment | コメント文字列 |
modified_time | 最終更新時間 |
access_time | 最終アクセス時間 |
creation_time | ファイル作成時間 |
uid | ユーザーID |
gid | グループID |

### `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