SocketStreams v1.11.1
Loading...
Searching...
No Matches
streams::IOSocketStream Class Reference

Base input/output socket stream. More...

#include <IOSocketStream.h>

Inheritance diagram for streams::IOSocketStream:

Public Member Functions

 IOSocketStream (const IOSocketStream &)=delete
 Deleted copy constructor.
 
 IOSocketStream (IOSocketStream &&other) noexcept
 Move constructor.
 
IOSocketStreamoperator= (const IOSocketStream &)=delete
 Deleted copy assignment operator.
 
IOSocketStreamoperator= (IOSocketStream &&other) noexcept
 Move assignment operator.
 
template<std::derived_from< web::Network > T = web::Network>
T & getNetwork ()
 
template<std::derived_from< web::Network > T = web::Network>
const T & getNetwork () const
 
std::ostream & operator<< (bool value)
 
std::ostream & operator<< (short value)
 
std::ostream & operator<< (int value)
 
std::ostream & operator<< (long value)
 
std::ostream & operator<< (long long value)
 
std::ostream & operator<< (unsigned short value)
 
std::ostream & operator<< (unsigned int value)
 
std::ostream & operator<< (unsigned long value)
 
std::ostream & operator<< (unsigned long long value)
 
std::ostream & operator<< (float value)
 
std::ostream & operator<< (double value)
 
std::ostream & operator<< (long double value)
 
std::istream & operator>> (bool &value)
 
std::istream & operator>> (short &value)
 
std::istream & operator>> (int &value)
 
std::istream & operator>> (long &value)
 
std::istream & operator>> (long long &value)
 
std::istream & operator>> (unsigned short &value)
 
std::istream & operator>> (unsigned int &value)
 
std::istream & operator>> (unsigned long &value)
 
std::istream & operator>> (unsigned long long &value)
 
std::istream & operator>> (float &value)
 
std::istream & operator>> (double &value)
 
std::istream & operator>> (long double &value)
 
template<web::utility::Container T>
std::ostream & operator<< (const T &data)
 Send data through network.
 
template<web::utility::Container T>
std::istream & operator>> (T &data)
 Receive data through network.
 
virtual ~IOSocketStream ()=default
 

Static Public Member Functions

template<std::derived_from< web::Network > T, typename... Args>
static IOSocketStream createStream (Args &&... args)
 
template<std::derived_from< buffers::IOSocketBuffer > T, typename... Args>
static IOSocketStream createStream (Args &&... args)
 

Protected Member Functions

template<web::utility::Fundamental T>
int sendFundamental (T value)
 
template<web::utility::Fundamental T>
int receiveFundamental (T &value)
 
virtual int sendFundamentalImplementation (const char *value, int valueSize, bool &endOfStream)
 
virtual int receiveFundamentalImplementation (char *value, int valueSize, bool &endOfStream)
 

Protected Attributes

std::unique_ptr< buffers::IOSocketBufferbuffer
 

Detailed Description

Base input/output socket stream.

Constructor & Destructor Documentation

◆ IOSocketStream() [1/2]

streams::IOSocketStream::IOSocketStream ( const IOSocketStream & )
delete

Deleted copy constructor.

◆ IOSocketStream() [2/2]

streams::IOSocketStream::IOSocketStream ( IOSocketStream && other)
noexcept

Move constructor.

Parameters
other

◆ ~IOSocketStream()

virtual streams::IOSocketStream::~IOSocketStream ( )
virtualdefault

Member Function Documentation

◆ createStream() [1/2]

template<std::derived_from< buffers::IOSocketBuffer > T, typename... Args>
IOSocketStream streams::IOSocketStream::createStream ( Args &&... args)
static

◆ createStream() [2/2]

template<std::derived_from< buffers::IOSocketBuffer > T, typename... Args>
static IOSocketStream streams::IOSocketStream::createStream ( Args &&... args)
static

◆ getNetwork() [1/2]

template<std::derived_from< web::Network > T>
T & streams::IOSocketStream::getNetwork ( )

◆ getNetwork() [2/2]

template<std::derived_from< web::Network > T>
const T & streams::IOSocketStream::getNetwork ( ) const

◆ operator<<() [1/13]

std::ostream & streams::IOSocketStream::operator<< ( bool value)

◆ operator<<() [2/13]

std::ostream & streams::IOSocketStream::operator<< ( const T & data)

Send data through network.

Parameters
dataContainer concept instance

◆ operator<<() [3/13]

std::ostream & streams::IOSocketStream::operator<< ( double value)

◆ operator<<() [4/13]

std::ostream & streams::IOSocketStream::operator<< ( float value)

◆ operator<<() [5/13]

std::ostream & streams::IOSocketStream::operator<< ( int value)

◆ operator<<() [6/13]

std::ostream & streams::IOSocketStream::operator<< ( long double value)

◆ operator<<() [7/13]

std::ostream & streams::IOSocketStream::operator<< ( long long value)

◆ operator<<() [8/13]

std::ostream & streams::IOSocketStream::operator<< ( long value)

◆ operator<<() [9/13]

std::ostream & streams::IOSocketStream::operator<< ( short value)

◆ operator<<() [10/13]

std::ostream & streams::IOSocketStream::operator<< ( unsigned int value)

◆ operator<<() [11/13]

std::ostream & streams::IOSocketStream::operator<< ( unsigned long long value)

◆ operator<<() [12/13]

std::ostream & streams::IOSocketStream::operator<< ( unsigned long value)

◆ operator<<() [13/13]

std::ostream & streams::IOSocketStream::operator<< ( unsigned short value)

◆ operator=() [1/2]

IOSocketStream & streams::IOSocketStream::operator= ( const IOSocketStream & )
delete

Deleted copy assignment operator.

Parameters
<br>
Returns

◆ operator=() [2/2]

IOSocketStream & streams::IOSocketStream::operator= ( IOSocketStream && other)
noexcept

Move assignment operator.

Parameters
other
Returns

◆ operator>>() [1/13]

std::istream & streams::IOSocketStream::operator>> ( bool & value)

◆ operator>>() [2/13]

std::istream & streams::IOSocketStream::operator>> ( double & value)

◆ operator>>() [3/13]

std::istream & streams::IOSocketStream::operator>> ( float & value)

◆ operator>>() [4/13]

std::istream & streams::IOSocketStream::operator>> ( int & value)

◆ operator>>() [5/13]

std::istream & streams::IOSocketStream::operator>> ( long & value)

◆ operator>>() [6/13]

std::istream & streams::IOSocketStream::operator>> ( long double & value)

◆ operator>>() [7/13]

std::istream & streams::IOSocketStream::operator>> ( long long & value)

◆ operator>>() [8/13]

std::istream & streams::IOSocketStream::operator>> ( short & value)

◆ operator>>() [9/13]

std::istream & streams::IOSocketStream::operator>> ( T & data)

Receive data through network.

Parameters
dataContainer concept instance

◆ operator>>() [10/13]

std::istream & streams::IOSocketStream::operator>> ( unsigned int & value)

◆ operator>>() [11/13]

std::istream & streams::IOSocketStream::operator>> ( unsigned long & value)

◆ operator>>() [12/13]

std::istream & streams::IOSocketStream::operator>> ( unsigned long long & value)

◆ operator>>() [13/13]

std::istream & streams::IOSocketStream::operator>> ( unsigned short & value)

◆ receiveFundamental()

int streams::IOSocketStream::receiveFundamental ( T & value)
protected

◆ receiveFundamentalImplementation()

int streams::IOSocketStream::receiveFundamentalImplementation ( char * value,
int valueSize,
bool & endOfStream )
protectedvirtual

◆ sendFundamental()

int streams::IOSocketStream::sendFundamental ( T value)
protected

◆ sendFundamentalImplementation()

int streams::IOSocketStream::sendFundamentalImplementation ( const char * value,
int valueSize,
bool & endOfStream )
protectedvirtual

Member Data Documentation

◆ buffer

std::unique_ptr<buffers::IOSocketBuffer> streams::IOSocketStream::buffer
protected

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