## Class sum16

hamigaki::checksum::sum16 —

バイト列の各要素の和を16ビットで計算する。

## Synopsis

    class sum16 {
    public:
      // types
      typedef boost::uint16_t value_type;

      // construct/copy/destruct
      sum16();

      // modifiers
      void reset(value_type = 0);
      void process_byte(unsigned char);
      void process_block(const void*, const void*);
      void process_block(const void*, std::size_t);
      void operator()(unsigned char);

      // queries
      value_type checksum() const;
      value_type operator()() const;
    };

## Description

### `sum16` construct/copy/destruct

1.     sum16();

### `sum16` modifiers

1.     void reset(value_type new_sum = 0);

   Effects: | 合計値を`new_sum`でリセットする。

2.     void process_byte(unsigned char byte);

   Effects: | 符号なし整数`byte`を合計値に加える。

3.     void process_block(const void* bytes_begin, const void* bytes_end);

   Effects: | `[bytes_begin, bytes_end)`の範囲の各バイト値を合計値に加える。

4.     void process_block(const void* buffer, std::size_t byte_count);

   Effects: | `[buffer, static_cast<const char*>(buffer)+byte_count)`の各バイト値を合計値に加える。

5.     void operator()(unsigned char byte);

   Effects: |
       process_byte(byte);

### `sum16` queries

1.     value_type checksum() const;

   Returns: | 合計値の下位16ビット

2.     value_type operator()() const;

   Effects: |
       return checksum();

| 製作著作 © 2006, 2007 Takeshi Mouri