## Class template dont_close_device

hamigaki::iostreams::dont_close_device —

## Synopsis

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

      // construct/copy/destruct
      dont_close_device(const Device&);

      // Boost.Iostreams implementation
      void close(std::ios_base::openmode = std::ios_base::in|std::ios_base::out);
      std::streamsize read(char_type*, std::streamsize);
      std::streamsize write(const char_type*, std::streamsize);
      std::streampos seek(boost::iostreams::stream_offset, std::ios_base::seekdir);
    };

    // creation
    template<typename Device> dont_close_device<Device> dont_close(const Device&);

## Description

### `dont_close_device` construct/copy/destruct

1.     dont_close_device(const Device& dev);

### `dont_close_device` Boost.Iostreams implementation

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

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

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

4.     std::streampos
       seek(boost::iostreams::stream_offset off, std::ios_base::seekdir way);

### `dont_close_device` creation

1.     template<typename Device>
         dont_close_device<Device> dont_close(const Device& dev);

   Returns: | `dont_close_device<Device>(dev)`

| 製作著作 © 2006, 2007 Takeshi Mouri