## Class template wide_adaptor

hamigaki::audio::wide_adaptor —

クラステンプレート`wide_adaptor`はDeviceを受け取り、その文字型をCharTに変換したDeviceを形成する。

## Synopsis

    template<typename CharT, typename Device>
    class wide_adaptor {
    public:
      // types
      typedef CharT                  char_type;
      typedef implementation defined category;

      // construct/copy/destruct
      explicit wide_adaptor(const Device&);
      wide_adaptor(const Device&, std::streamsize);

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

    // creation
    template<typename CharT, typename Device>
      wide_adaptor<CharT, Device> widen(const Device&);

## Description

モデルとなるコンセプト:Source(`Device`がSourceである場合), Sink(`Device`がSinkである場合), ClosableDevice, OptimallyBuffered

### `wide_adaptor` construct/copy/destruct

1.     explicit wide_adaptor(const Device& dev);

2.     wide_adaptor(const Device& dev, std::streamsize buffer_size);

### `wide_adaptor` Boost.Iostreams implementation

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

2.     std::streamsize write(const CharT* s, std::streamsize n);

3.     void close();

4.     std::streamsize optimal_buffer_size() const;

### `wide_adaptor` creation

1.     template<typename CharT, typename Device>
         wide_adaptor<CharT, Device> widen(const Device& dev);

   Returns: | `wide_adaptor<CharT, Device>(dev)`

| 製作著作 © 2006, 2007 Takeshi Mouri