## Struct compress_method

hamigaki::archivers::lha::compress_method —

LZH圧縮メソッドを格納する

## Synopsis

    struct compress_method {
      // construct/copy/destruct
      compress_method();
      explicit compress_method(const char*);
      compress_method& operator=(const char*);

      // queries
      bool empty() const;

      char id[5];
    };

    // comparisons
    bool operator==(const compress_method&, const compress_method&) const;
    bool operator==(const compress_method&, const char*) const;
    bool operator==(const char*, const compress_method&) const;
    bool operator!=(const compress_method&, const compress_method&) const;
    bool operator!=(const compress_method&, const char*) const;
    bool operator!=(const char*, const compress_method&) const;

## Description

サポートされるメソッド以下の通り。

メソッド | 意味
--- | ---
"-lh0-" | 非圧縮
"-lhd-" | ディレクトリ
"-lh4-" | LZHUF圧縮、辞書サイズ=4KB
"-lh5-" | LZHUF圧縮、辞書サイズ=8KB
"-lh6-" | LZHUF圧縮、辞書サイズ=32KB
"-lh7-" | LZHUF圧縮、辞書サイズ=64KB

### `compress_method` construct/copy/destruct

1.     compress_method();

   Effects: | `id`を0で初期化する
   Postconditions: | `empty() == true`

2.     explicit compress_method(const char* s);

   Effects: | `[s, s+5)`の文字列で`id`を初期化する

3.     compress_method& operator=(const char* s);

   Effects: | `[s, s+5)`の文字列を`id`にコピーする

### `compress_method` queries

1.     bool empty() const;

   Returns: | `id`が全て0ならば`true`、そうでなければ`false`

### `compress_method` comparisons

1.     bool operator==(const compress_method& lhs, const compress_method& rhs) const;

   Returns: | `std::memcmp(lhs.id, rhs.id, 5) == 0`

2.     bool operator==(const compress_method& lhs, const char* rhs) const;

   Returns: | `std::memcmp(lhs.id, rhs, 5) == 0`

3.     bool operator==(const char* lhs, const compress_method& rhs) const;

   Returns: | `std::memcmp(lhs, rhs.id, 5) == 0`

4.     bool operator!=(const compress_method& lhs, const compress_method& rhs) const;

   Returns: | `!(lhs == rhs)`

5.     bool operator!=(const compress_method& lhs, const char* rhs) const;

   Returns: | `!(lhs == rhs)`

6.     bool operator!=(const char* lhs, const compress_method& rhs) const;

   Returns: | `!(lhs == rhs)`

| 製作著作 © 2006, 2007 Takeshi Mouri