## Struct header

hamigaki::archivers::lha::header —

## Synopsis

    struct header {

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

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

      boost::uint8_t level;
      compress_method method;
      boost::int64_t compressed_size;
      boost::int64_t file_size;
      std::time_t update_time;
      boost::uint16_t attributes;
      boost::filesystem::path path;
      boost::filesystem::path link_path;
      boost::optional<boost::uint16_t> crc16_checksum;
      boost::optional<char> os;
      boost::optional<windows::timestamp> timestamp;
      boost::optional<boost::uint32_t> code_page;
      boost::optional<boost::uint16_t> permissions;
      boost::optional<posix::gid_uid> owner;
      std::string group_name;
      std::string user_name;
      std::string comment;
    };

## Description

メンバ変数 | 意味 | 規定値
--- | --- | ---
level | ヘッダのレベル (0～2) | 2
method | 圧縮メソッド |
compressed_size | 圧縮後のサイズ | -1
file_size | 圧縮前のサイズ | -1
update_time | 最終更新時間 | -1
attributes | MS-DOS ファイル属性 (msdos::attributes構造体内の定数のいずれか、あるいはその組み合わせ) | `msdos::attributes::archive`
path | ファイルのパス名 |
link_path | リンク先のパス名 |
crc16_checksum | CRC-16 チェックサム |
os | アーカイブ作成時のOS |
timestamp | Windows タイムスタンプ |
code_page | Windows コードページ |
permissions | ファイル許可属性 |
owner | UNIX グループID / ユーザーID |
group_name | UNIX グループ名 |
user_name | UNIX ユーザー名 |
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