| Home | Libraries | People | FAQ | More

## Class template basic_ibufferstream

boost::interprocess::basic_ibufferstream

## Synopsis

    // In header: <boost/interprocess/streams/bufferstream.hpp>

    template<typename CharT, typename CharTraits>
    class basic_ibufferstream : public std::basic_istream< CharT, CharTraits > {
    public:
      // types
      typedef std::basic_ios< CharT, CharTraits >::char_type       char_type;
      typedef std::basic_ios< char_type, CharTraits >::int_type    int_type;
      typedef std::basic_ios< char_type, CharTraits >::pos_type    pos_type;
      typedef std::basic_ios< char_type, CharTraits >::off_type    off_type;
      typedef std::basic_ios< char_type, CharTraits >::traits_type traits_type;

      // construct/copy/destruct
      basic_ibufferstream(std::ios_base::openmode = std::ios_base::in);
      basic_ibufferstream(const CharT *, std::size_t,
                          std::ios_base::openmode = std::ios_base::in);
      ~basic_ibufferstream();

      // public member functions
      basic_bufferbuf< CharT, CharTraits > * rdbuf() const;
      std::pair< const CharT *, std::size_t > buffer() const;
      void buffer(const CharT *, std::size_t);
    };

## Description

A basic_istream class that uses a fixed size character buffer as its formatting buffer.

### `basic_ibufferstream` public construct/copy/destruct

1.     basic_ibufferstream(std::ios_base::openmode mode = std::ios_base::in);

   Constructor. Does not throw.

2.     basic_ibufferstream(const CharT * buf, std::size_t length,
                           std::ios_base::openmode mode = std::ios_base::in);

   Constructor. Assigns formatting buffer. Does not throw.

3.     ~basic_ibufferstream();

### `basic_ibufferstream` public member functions

1.     basic_bufferbuf< CharT, CharTraits > * rdbuf() const;

   Returns the address of the stored stream buffer.

2.     std::pair< const CharT *, std::size_t > buffer() const;

   Returns the pointer and size of the internal buffer. Does not throw.

3.     void buffer(const CharT * buf, std::size_t length);

   Sets the underlying buffer to a new value. Resets stream position. Does not throw.