## Class template basic_wave_file_sink

hamigaki::audio::basic_wave_file_sink —

WAVEファイルへの書き込み専用アクセスを提供するSinkモデル

## Synopsis

    template<typename SeekableSink>
    class basic_wave_file_sink {
    public:
      // types
      typedef char                   char_type;
      typedef implementation defined category;

      // construct/copy/destruct
      basic_wave_file_sink(const SeekableSink&, const pcm_format&);

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

      // queries
      pcm_format format() const;
    };

    // creation
    template<typename SeekableSink>
      basic_wave_file_sink<SeekableSink>
      make_wave_file_sink(const SeekableSink&, const pcm_format&);

## Description

受け取ったSeekableSinkへPCMデータをWAVEファイルとして書き出すことができる。

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

### `basic_wave_file_sink` construct/copy/destruct

1.     basic_wave_file_sink(const SeekableSink& sink, const pcm_format& fmt);

### `basic_wave_file_sink` Boost.Iostreams implementation

1.     std::streamsize optimal_buffer_size() const;

   Returns: | 200ミリ秒分のバッファサイズ

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

3.     void close();

### `basic_wave_file_sink` queries

1.     pcm_format format() const;

   Returns: | フォーマット情報

### `basic_wave_file_sink` creation

1.     template<typename SeekableSink>
         basic_wave_file_sink<SeekableSink>
         make_wave_file_sink(const SeekableSink& sink, const pcm_format& fmt);

   Returns: | `basic_wave_file_sink<SeekableSink>(sink, fmt)`

| 製作著作 © 2006-2008 Takeshi Mouri