staticlib_io  1.2.11
 All Classes Namespaces Files Functions Variables
Public Member Functions | List of all members
staticlib::io::unique_sink< Sink > Class Template Reference

Sink wrapper that holds a "std::unique_ptr" to the underlying sink. More...

#include <staticlib/io/unique_sink.hpp>

Public Member Functions

 unique_sink (Sink *sink)
 Constructor.
 unique_sink (const unique_sink &)
 Deleted copy constructor.
unique_sink & operator= (const unique_sink &)
 Deleted copy assignment operator.
 unique_sink (unique_sink &&other) STATICLIB_NOEXCEPT
 Move constructor.
unique_sink & operator= (unique_sink &&other) STATICLIB_NOEXCEPT
 Move assignment operator.
std::streamsize write (span< const char > span)
 Write implementation delegated to the underlying sink.
std::streamsize flush ()
 Flushes destination sink.
Sink & get_sink ()
 Underlying sink accessor.

Detailed Description

template<typename Sink>
class staticlib::io::unique_sink< Sink >

Sink wrapper that holds a "std::unique_ptr" to the underlying sink.

Constructor & Destructor Documentation

template<typename Sink >
staticlib::io::unique_sink< Sink >::unique_sink ( Sink *  sink)
inlineexplicit

Constructor.

Parameters
sinkdestination sink
template<typename Sink >
staticlib::io::unique_sink< Sink >::unique_sink ( const unique_sink< Sink > &  )

Deleted copy constructor.

Parameters
otherinstance
template<typename Sink >
staticlib::io::unique_sink< Sink >::unique_sink ( unique_sink< Sink > &&  other)
inline

Move constructor.

Parameters
otherother instance

Member Function Documentation

template<typename Sink >
std::streamsize staticlib::io::unique_sink< Sink >::flush ( )
inline

Flushes destination sink.

Returns
number of bytes flushed
template<typename Sink >
Sink& staticlib::io::unique_sink< Sink >::get_sink ( )
inline

Underlying sink accessor.

Returns
underlying sink reference
template<typename Sink >
unique_sink& staticlib::io::unique_sink< Sink >::operator= ( const unique_sink< Sink > &  )

Deleted copy assignment operator.

Parameters
otherinstance
Returns
this instance
template<typename Sink >
unique_sink& staticlib::io::unique_sink< Sink >::operator= ( unique_sink< Sink > &&  other)
inline

Move assignment operator.

Parameters
otherother instance
Returns
this instance
template<typename Sink >
std::streamsize staticlib::io::unique_sink< Sink >::write ( span< const char >  span)
inline

Write implementation delegated to the underlying sink.

Parameters
spanbuffer span
Returns
number of bytes processed

The documentation for this class was generated from the following file: