| Home | Libraries | People | FAQ | More

## Class template std

boost::interprocess::std

## Synopsis

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

    template<typename CharVector, typename CharTraits>
    class std {
    public:
      // types
      typedef CharVector                                                               vector_type;
      typedef std::basic_ios< typename CharVector::value_type, 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;
      typedef CharVector                                                               vector_type;
      typedef std::basic_ios< typename CharVector::value_type, 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;

      // public member functions
       basic_ivectorstream(std::ios_base::openmode = std::ios_base::in);
      template<typename VectorParameter>
         basic_ivectorstream(const VectorParameter &,
                             std::ios_base::openmode = std::ios_base::in);
       ~basic_ivectorstream();
      basic_vectorbuf< CharVector, CharTraits > * rdbuf() const;
      void swap_vector(vector_type &);
      const vector_type & vector() const;
      void reserve(typename vector_type::size_type);
      void clear();
       basic_ovectorstream(std::ios_base::openmode = std::ios_base::out);
      template<typename VectorParameter>
         basic_ovectorstream(const VectorParameter &,
                             std::ios_base::openmode = std::ios_base::out);
       ~basic_ovectorstream();
      basic_vectorbuf< CharVector, CharTraits > * rdbuf() const;
      void swap_vector(vector_type &);
      const vector_type & vector() const;
      void reserve(typename vector_type::size_type);
    };

## Description

A basic_istream class that holds a character vector specified by CharVector template parameter as its formatting buffer. The vector must have contiguous storage, like std::vector, boost::interprocess::vector or boost::interprocess::basic_string

A basic_ostream class that holds a character vector specified by CharVector template parameter as its formatting buffer. The vector must have contiguous storage, like std::vector, boost::interprocess::vector or boost::interprocess::basic_string

### `std` public member functions

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

   Constructor. Throws if vector_type default constructor throws.

2.     template<typename VectorParameter>
          basic_ivectorstream(const VectorParameter & param,
                              std::ios_base::openmode mode = std::ios_base::in);

   Constructor. Throws if vector_type(const VectorParameter &param) throws.

3.      ~basic_ivectorstream();

4.     basic_vectorbuf< CharVector, CharTraits > * rdbuf() const;

   Returns the address of the stored stream buffer.

5.     void swap_vector(vector_type & vect);

   Swaps the underlying vector with the passed vector. This function resets the read position in the stream. Does not throw.

6.     const vector_type & vector() const;

   Returns a const reference to the internal vector. Does not throw.

7.     void reserve(typename vector_type::size_type size);

   Calls reserve() method of the internal vector. Resets the stream to the first position. Throws if the internals vector's reserve throws.

8.     void clear();

   Calls clear() method of the internal vector. Resets the stream to the first position.

9.      basic_ovectorstream(std::ios_base::openmode mode = std::ios_base::out);

   Constructor. Throws if vector_type default constructor throws.

10.     template<typename VectorParameter>
           basic_ovectorstream(const VectorParameter & param,
                               std::ios_base::openmode mode = std::ios_base::out);

    Constructor. Throws if vector_type(const VectorParameter &param) throws.

11.      ~basic_ovectorstream();

12.     basic_vectorbuf< CharVector, CharTraits > * rdbuf() const;

    Returns the address of the stored stream buffer.

13.     void swap_vector(vector_type & vect);

    Swaps the underlying vector with the passed vector. This function resets the write position in the stream. Does not throw.

14.     const vector_type & vector() const;

    Returns a const reference to the internal vector. Does not throw.

15.     void reserve(typename vector_type::size_type size);

    Calls reserve() method of the internal vector. Resets the stream to the first position. Throws if the internals vector's reserve throws.