## Class template basic_demultiplexer

hamigaki::iostreams::basic_demultiplexer —

多重化されたストリームを複数のSinkに分配する。

## Synopsis

    template<typename CharT>
    class basic_demultiplexer {
    public:
      // types
      typedef boost::iostreams::char_type_of<Device>::type char_type;

      // construct/copy/destruct
      basic_demultiplexer();

      // Boost.Iostreams implementation
      void close(std::ios_base::openmode = std::ios_base::in|std::ios_base::out);
      std::streamsize write(const char_type*, std::streamsize);

      // queries
      template<typename T> const T* component(int) const;

      // modifier
      template<typename Sink> void push(const Sink&);
    };

## Description

分配先のSinkは、push()で追加する。`basic_demultiplexer`への書き込みは、追加した各Sinkへ順に1文字ずつ書き出される。

### `basic_demultiplexer` construct/copy/destruct

1.     basic_demultiplexer();

### `basic_demultiplexer` Boost.Iostreams implementation

1.     void close(std::ios_base::openmode which = std::ios_base::in|std::ios_base::out);

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

### `basic_demultiplexer` queries

1.     template<typename T> const T* component(int n) const;

### `basic_demultiplexer` modifier

1.     template<typename Sink> void push(const Sink& sink);

   Effects: | `push(sink, sink.block_size());`

| 製作著作 © 2006, 2007 Takeshi Mouri