## Class template amplifier

hamigaki::audio::amplifier —

クラステンプレート`amplifier`はSourceを受け取り、その各要素を定数倍したSourceを形成する。

## Synopsis

    template<typename Source>
    class amplifier {
    public:
      // types
      typedef typename boost::iostreams::char_type_of<Source>::type char_type;
      typedef implementation defined                                category;

      // construct/copy/destruct
      amplifier(const Source&, float);

      // Boost.Iostreams implementation
      std::streamsize read(CharT*, std::streamsize);
      void close();
      std::streamsize optimal_buffer_size() const;
    };

    // creation
    template<typename Source> amplifier<Source> amplify(const Source&, float);

## Description

モデルとなるコンセプト:Source, ClosableDevice, OptimallyBuffered

### `amplifier` construct/copy/destruct

1.     amplifier(const Source& src, float amp);

### `amplifier` Boost.Iostreams implementation

1.     std::streamsize read(CharT* s, std::streamsize n);

2.     void close();

3.     std::streamsize optimal_buffer_size() const;

### `amplifier` creation

1.     template<typename Source>
         amplifier<Source> amplify(const Source& src, float amp);

   Returns: | `amplifier<Source>(src)`

| 製作著作 © 2006, 2007 Takeshi Mouri