libDwm-0.9.45
Dwm::DescriptorIO Class Reference

This class contains a collection of static functions for reading and writing simple types, in network byte order (MSB first). More...

#include <DwmDescriptorIO.hh>

Static Public Member Functions

static ssize_t Read (int fd, char &c)
 Reads c from fd.
 
static ssize_t Write (int fd, char c)
 Writes c to fd.
 
static ssize_t Read (int fd, uint8_t &c)
 Reads c from fd.
 
static ssize_t Write (int fd, uint8_t c)
 Writes c to fd.
 
static ssize_t Read (int fd, bool &b)
 Reads b from fd.
 
static ssize_t Write (int fd, bool b)
 Writes b to fd.
 
static ssize_t Read (int fd, int16_t &val)
 Reads val from fd, in network byte order (MSB first).
 
static ssize_t Write (int fd, int16_t val)
 Writes val to fd, in network byte order (MSB first).
 
static ssize_t Read (int fd, uint16_t &val)
 Reads val from fd, in network byte order (MSB first).
 
static ssize_t Write (int fd, uint16_t val)
 Writes val to fd, in network byte order (MSB first).
 
static ssize_t Read (int fd, int32_t &val)
 Reads val from fd, in network byte order (MSB first).
 
static ssize_t Write (int fd, int32_t val)
 Writes val to fd, in network byte order (MSB first).
 
static ssize_t Read (int fd, uint32_t &val)
 Reads val from fd, in network byte order (MSB first).
 
static ssize_t Write (int fd, uint32_t val)
 Writes val to fd, in network byte order (MSB first).
 
static ssize_t Read (int fd, int64_t &val)
 Reads val from fd, in network byte order (MSB first).
 
static ssize_t Write (int fd, const int64_t &val)
 Writes val to fd, in network byte order (MSB first).
 
static ssize_t Read (int fd, uint64_t &val)
 Reads val from fd, in network byte order (MSB first).
 
static ssize_t Write (int fd, const uint64_t &val)
 Writes val to fd, in network byte order (MSB first).
 
static ssize_t Read (int fd, float &val)
 Reads val from fd, in IEEE format (see RFC 1832 and/or ANSI/IEEE Standard 754-1985).
 
static ssize_t Write (int fd, float val)
 Writes val to fd, in IEEE format (see RFC 1832 and/or ANSI/IEEE Standard 754-1985).
 
static ssize_t Read (int fd, double &val)
 Reads val from fd, in IEEE format (see RFC 1832 and/or ANSI/IEEE Standard 754-1985).
 
static ssize_t Write (int fd, const double &val)
 Writes val to fd, in IEEE format (see RFC 1832 and/or ANSI/IEEE Standard 754-1985).
 
static ssize_t Read (int fd, std::string &s)
 Reads s from fd.
 
static ssize_t Write (int fd, const std::string &s)
 Writes s to fd.
 
static ssize_t Read (int fd, DescriptorReadable &val)
 Wrapper function to read a DescriptorReadable object from a descriptor.
 
static ssize_t Read (int fd, HasDescriptorRead auto &val)
 Reads val from fd, where val meets the requirements of the HasDescriptorRead concept.
 
static ssize_t Write (int fd, const DescriptorWritable &val)
 Wrapper function to write a DescriptorWritable object to a descriptor.
 
static ssize_t Write (int fd, const HasDescriptorWrite auto &val)
 Writes val to fd, where val meets the requirements of the HasDescriptorWrite concept.
 
template<typename _firstT , typename _secondT >
static ssize_t Read (int fd, std::pair< _firstT, _secondT > &p)
 Reads a pair<_firstT,_secondT> from a file descriptor.
 
template<typename _firstT , typename _secondT >
static ssize_t Write (int fd, const std::pair< _firstT, _secondT > &p)
 Writes a pair<_firstT,_secondT> to a file descriptor.
 
template<typename _keyT , typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Read (int fd, std::map< _keyT, _valueT, _Compare, _Alloc > &m)
 Reads a map<_keyT,_valueT> from a file descriptor.
 
template<typename _keyT , typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Write (int fd, const std::map< _keyT, _valueT, _Compare, _Alloc > &m)
 Writes a map<_keyT,_valueT> to a file descriptor.
 
template<typename _keyT , typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Read (int fd, std::multimap< _keyT, _valueT, _Compare, _Alloc > &m)
 Reads a multimap<_keyT,_valueT> from a file descriptor.
 
template<typename _keyT , typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Write (int fd, const std::multimap< _keyT, _valueT, _Compare, _Alloc > &m)
 Writes a multimap<_keyT,_valueT> to a file descriptor.
 
template<typename _valueT , std::size_t N>
static ssize_t Read (int fd, std::array< _valueT, N > &a)
 Read an array<_valueT,N> from a file descriptor.
 
template<typename _valueT , std::size_t N>
static ssize_t Write (int fd, const std::array< _valueT, N > &a)
 Writes an array<_valueT,N> to a file descriptor.
 
template<typename _valueT , typename _Alloc >
static ssize_t Read (int fd, std::vector< _valueT, _Alloc > &v)
 Reads a vector<_valueT> from a file descriptor.
 
template<typename _valueT , typename _Alloc >
static ssize_t Write (int fd, const std::vector< _valueT, _Alloc > &v)
 Writes a vector<_valueT> to a file descriptor.
 
template<typename _valueT , typename _Alloc >
static ssize_t Read (int fd, std::deque< _valueT, _Alloc > &d)
 Reads a deque<_valueT> from a file descriptor.
 
template<typename _valueT , typename _Alloc >
static ssize_t Write (int fd, const std::deque< _valueT, _Alloc > &d)
 Writes a deque<_valueT> to a file descriptor.
 
template<typename _valueT , typename _Alloc >
static ssize_t Read (int fd, std::list< _valueT, _Alloc > &l)
 Reads a list<_valueT> from a file descriptor.
 
template<typename _valueT , typename _Alloc >
static ssize_t Write (int fd, const std::list< _valueT, _Alloc > &l)
 Writes a list<_valueT> to a file descriptor.
 
template<typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Read (int fd, std::set< _valueT, _Compare, _Alloc > &l)
 Reads a set<_valueT> from a file descriptor.
 
template<typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Write (int fd, const std::set< _valueT, _Compare, _Alloc > &l)
 Writes a set<_valueT> to a file descriptor.
 
template<typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Read (int fd, std::multiset< _valueT, _Compare, _Alloc > &l)
 Reads a multiset<_valueT> from a file descriptor.
 
template<typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Write (int fd, const std::multiset< _valueT, _Compare, _Alloc > &l)
 Writes a multiset<_valueT> to a file descriptor.
 
template<typename... Args>
static ssize_t Read (int fd, std::tuple< Args... > &t)
 Reads a tuple from a file descriptor.
 
template<typename... Args>
static ssize_t Write (int fd, const std::tuple< Args... > &t)
 Writes a tuple to a file descriptor.
 
template<typename _keyT , typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Read (int fd, std::unordered_map< _keyT, _valueT, _Hash, _Pred, _Alloc > &m)
 Reads an unordered_map<_keyT,_valueT> from a file descriptor.
 
template<typename _keyT , typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Write (int fd, const std::unordered_map< _keyT, _valueT, _Hash, _Pred, _Alloc > &m)
 Writes an unordered_map<_keyT,_valueT> to a file descriptor.
 
template<typename _keyT , typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Read (int fd, std::unordered_multimap< _keyT, _valueT, _Hash, _Pred, _Alloc > &m)
 Reads an unordered_multimap<_keyT,_valueT> from a file descriptor.
 
template<typename _keyT , typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Write (int fd, const std::unordered_multimap< _keyT, _valueT, _Hash, _Pred, _Alloc > &m)
 Writes an unordered_multimap<_keyT,_valueT> to a file descriptor.
 
template<typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Read (int fd, std::unordered_set< _valueT, _Hash, _Pred, _Alloc > &m)
 Reads an unordered_set<_valueT> from a file descriptor.
 
template<typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Write (int fd, const std::unordered_set< _valueT, _Hash, _Pred, _Alloc > &m)
 Writes an unordered_set<_valueT> to a file descriptor.
 
template<typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Read (int fd, std::unordered_multiset< _valueT, _Hash, _Pred, _Alloc > &m)
 Reads an unordered_multiset<_valueT> from a file descriptor.
 
template<typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Write (int fd, const std::unordered_multiset< _valueT, _Hash, _Pred, _Alloc > &m)
 Writes an unordered_multiset<_valueT> to a file descriptor.
 
static ssize_t Read (int fd, std::monostate &sm)
 Just a dummy helper function for std::variant instances that hold a std::monostate.
 
static ssize_t Write (int fd, const std::monostate &sm)
 Just a dummy helper function for std::variant instances that hold a std::monostate.
 
template<typename... Ts>
static ssize_t Read (int fd, std::variant< Ts... > &v)
 Reads a variant from a descriptor.
 
template<typename... Ts>
static ssize_t Write (int fd, const std::variant< Ts... > &v)
 Writes a variant to a descriptor.
 
template<typename ... Args>
static ssize_t ReadV (int fd, Args &...args)
 Reads args from fd.
 
template<typename ... Args>
static ssize_t WriteV (int fd, const Args &...args)
 Writes args to fd.
 
static ssize_t Read (int fd, void *buf, size_t buflen)
 
static ssize_t Write (int fd, const void *buf, size_t buflen)
 

Detailed Description

This class contains a collection of static functions for reading and writing simple types, in network byte order (MSB first).

It also contains functions to read and write strings. It also contains function templates to read and write arrays, deques, lists, vectors, maps, multimaps, sets, multisets, unordered_maps, unordered_multimaps, unordered_sets, unordered_multisets, tuples and variants. We use our member functions to handle reading and writing simple types in the containers, and function templates to handle reading and writing other class types. For a user-defined class, the class must implement the DescriptorReadable and DescriptorWritable interfaces, since our function templates simply call out to them. Since templates are static polymorphism, you don't need to inherit from DescriptorReadable and DescriptorWritable, but you must implement the interfaces.

Member Function Documentation

◆ Read() [1/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
bool & b )
static

Reads b from fd.

Returns the number of bytes read (1) on success, less on failure.

◆ Read() [2/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
char & c )
static

Reads c from fd.

Returns the number of bytes read (1) on success, less on failure.

◆ Read() [3/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
double & val )
static

Reads val from fd, in IEEE format (see RFC 1832 and/or ANSI/IEEE Standard 754-1985).

Returns number of bytes read (8) on success, less on failure.

◆ Read() [4/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
float & val )
static

Reads val from fd, in IEEE format (see RFC 1832 and/or ANSI/IEEE Standard 754-1985).

Returns number of bytes read (4) on success, less on failure.

◆ Read() [5/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
int16_t & val )
static

Reads val from fd, in network byte order (MSB first).

Returns number of bytes read (2) on success, less on failure.

◆ Read() [6/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
int32_t & val )
static

Reads val from fd, in network byte order (MSB first).

Returns number of bytes read (4) on success, less on failure.

◆ Read() [7/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
int64_t & val )
static

Reads val from fd, in network byte order (MSB first).

Returns number of bytes read (8) on success, less on failure.

◆ Read() [8/28]

template<typename _valueT , std::size_t N>
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::array< _valueT, N > & a )
inlinestatic

Read an array<_valueT,N> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

Here is the call graph for this function:

◆ Read() [9/28]

template<typename _valueT , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::deque< _valueT, _Alloc > & d )
inlinestatic

Reads a deque<_valueT> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

◆ Read() [10/28]

template<typename _valueT , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::list< _valueT, _Alloc > & l )
inlinestatic

Reads a list<_valueT> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

◆ Read() [11/28]

template<typename _keyT , typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::map< _keyT, _valueT, _Compare, _Alloc > & m )
inlinestatic

Reads a map<_keyT,_valueT> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

◆ Read() [12/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::monostate & sm )
inlinestatic

Just a dummy helper function for std::variant instances that hold a std::monostate.

This should only be called from our Read() for std::variant (via std::visit()), and does nothing. Returns 0.

◆ Read() [13/28]

template<typename _keyT , typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::multimap< _keyT, _valueT, _Compare, _Alloc > & m )
inlinestatic

Reads a multimap<_keyT,_valueT> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

◆ Read() [14/28]

template<typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::multiset< _valueT, _Compare, _Alloc > & l )
inlinestatic

Reads a multiset<_valueT> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

◆ Read() [15/28]

template<typename _firstT , typename _secondT >
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::pair< _firstT, _secondT > & p )
inlinestatic

Reads a pair<_firstT,_secondT> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

Here is the call graph for this function:

◆ Read() [16/28]

template<typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::set< _valueT, _Compare, _Alloc > & l )
inlinestatic

Reads a set<_valueT> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

◆ Read() [17/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::string & s )
static

Reads s from fd.

Returns the number of bytes read on success, -1 on failure. Since we write strings with a 64-bit unsigned length value preceding the actual string, and always have a terminating NULL, this always reads at least 9 bytes on success.

◆ Read() [18/28]

template<typename... Args>
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::tuple< Args... > & t )
inlinestatic

Reads a tuple from a file descriptor.

Returns the number of bytes read.

Here is the call graph for this function:

◆ Read() [19/28]

template<typename _keyT , typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::unordered_map< _keyT, _valueT, _Hash, _Pred, _Alloc > & m )
inlinestatic

Reads an unordered_map<_keyT,_valueT> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

◆ Read() [20/28]

template<typename _keyT , typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::unordered_multimap< _keyT, _valueT, _Hash, _Pred, _Alloc > & m )
inlinestatic

Reads an unordered_multimap<_keyT,_valueT> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

◆ Read() [21/28]

template<typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::unordered_multiset< _valueT, _Hash, _Pred, _Alloc > & m )
inlinestatic

Reads an unordered_multiset<_valueT> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

◆ Read() [22/28]

template<typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::unordered_set< _valueT, _Hash, _Pred, _Alloc > & m )
inlinestatic

Reads an unordered_set<_valueT> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

◆ Read() [23/28]

template<typename... Ts>
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::variant< Ts... > & v )
inlinestatic

Reads a variant from a descriptor.

Returns the number of bytes written on success, -1 on failure.

Here is the call graph for this function:

◆ Read() [24/28]

template<typename _valueT , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Read ( int fd,
std::vector< _valueT, _Alloc > & v )
inlinestatic

Reads a vector<_valueT> from a file descriptor.

Returns the number of bytes read on success, -1 on failure.

◆ Read() [25/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
uint16_t & val )
static

Reads val from fd, in network byte order (MSB first).

Returns number of bytes read (2) on success, less on failure.

◆ Read() [26/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
uint32_t & val )
static

Reads val from fd, in network byte order (MSB first).

Returns number of bytes read (4) on success, less on failure.

◆ Read() [27/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
uint64_t & val )
static

Reads val from fd, in network byte order (MSB first).

Returns number of bytes read (8) on success, less on failure.

◆ Read() [28/28]

static ssize_t Dwm::DescriptorIO::Read ( int fd,
uint8_t & c )
static

Reads c from fd.

Returns the number of bytes read (1) on success, less on failure.

◆ ReadV()

template<typename ... Args>
static ssize_t Dwm::DescriptorIO::ReadV ( int fd,
Args &... args )
inlinestatic

Reads args from fd.

Returns the number of bytes read on success, -1 on failure.

Here is the call graph for this function:

◆ Write() [1/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
bool b )
static

Writes b to fd.

Returns the number of bytes written (1) on success, less on failure.

◆ Write() [2/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
char c )
static

Writes c to fd.

Returns the number of bytes written on success, -1 on failure.

◆ Write() [3/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
const double & val )
static

Writes val to fd, in IEEE format (see RFC 1832 and/or ANSI/IEEE Standard 754-1985).

Returns the number of bytes written (8) on success, less on failure.

◆ Write() [4/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
const int64_t & val )
static

Writes val to fd, in network byte order (MSB first).

Returns the number of bytes written (8) on success, less on failure.

◆ Write() [5/28]

template<typename _valueT , std::size_t N>
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::array< _valueT, N > & a )
inlinestatic

Writes an array<_valueT,N> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

Here is the call graph for this function:

◆ Write() [6/28]

template<typename _valueT , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::deque< _valueT, _Alloc > & d )
inlinestatic

Writes a deque<_valueT> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

◆ Write() [7/28]

template<typename _valueT , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::list< _valueT, _Alloc > & l )
inlinestatic

Writes a list<_valueT> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

◆ Write() [8/28]

template<typename _keyT , typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::map< _keyT, _valueT, _Compare, _Alloc > & m )
inlinestatic

Writes a map<_keyT,_valueT> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

◆ Write() [9/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::monostate & sm )
inlinestatic

Just a dummy helper function for std::variant instances that hold a std::monostate.

This should only be called from our Write() for std::variant (via std::visit()), and does nothing. Returns 0.

◆ Write() [10/28]

template<typename _keyT , typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::multimap< _keyT, _valueT, _Compare, _Alloc > & m )
inlinestatic

Writes a multimap<_keyT,_valueT> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

◆ Write() [11/28]

template<typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::multiset< _valueT, _Compare, _Alloc > & l )
inlinestatic

Writes a multiset<_valueT> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

◆ Write() [12/28]

template<typename _firstT , typename _secondT >
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::pair< _firstT, _secondT > & p )
inlinestatic

Writes a pair<_firstT,_secondT> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

Here is the call graph for this function:

◆ Write() [13/28]

template<typename _valueT , typename _Compare , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::set< _valueT, _Compare, _Alloc > & l )
inlinestatic

Writes a set<_valueT> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

◆ Write() [14/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::string & s )
static

Writes s to fd.

Returns the number of bytes written on success, -1 on failure. Note that a 64-bit value is written first, holding the length of the string. The terminating NULL is also written. Hence, on success this will always return a value of 9 or greater.

◆ Write() [15/28]

template<typename... Args>
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::tuple< Args... > & t )
inlinestatic

Writes a tuple to a file descriptor.

Returns the number of bytes written.

Here is the call graph for this function:

◆ Write() [16/28]

template<typename _keyT , typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::unordered_map< _keyT, _valueT, _Hash, _Pred, _Alloc > & m )
inlinestatic

Writes an unordered_map<_keyT,_valueT> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

◆ Write() [17/28]

template<typename _keyT , typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::unordered_multimap< _keyT, _valueT, _Hash, _Pred, _Alloc > & m )
inlinestatic

Writes an unordered_multimap<_keyT,_valueT> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

◆ Write() [18/28]

template<typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::unordered_multiset< _valueT, _Hash, _Pred, _Alloc > & m )
inlinestatic

Writes an unordered_multiset<_valueT> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

◆ Write() [19/28]

template<typename _valueT , typename _Hash , typename _Pred , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::unordered_set< _valueT, _Hash, _Pred, _Alloc > & m )
inlinestatic

Writes an unordered_set<_valueT> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

◆ Write() [20/28]

template<typename... Ts>
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::variant< Ts... > & v )
inlinestatic

Writes a variant to a descriptor.

Returns the number of bytes written on success, -1 on failure.

Here is the call graph for this function:

◆ Write() [21/28]

template<typename _valueT , typename _Alloc >
static ssize_t Dwm::DescriptorIO::Write ( int fd,
const std::vector< _valueT, _Alloc > & v )
inlinestatic

Writes a vector<_valueT> to a file descriptor.

Returns the number of bytes written on success, -1 on failure.

◆ Write() [22/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
const uint64_t & val )
static

Writes val to fd, in network byte order (MSB first).

Returns the number of bytes written (8) on success, less on failure.

◆ Write() [23/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
float val )
static

Writes val to fd, in IEEE format (see RFC 1832 and/or ANSI/IEEE Standard 754-1985).

Returns the number of bytes written (4) on success, less on failure.

◆ Write() [24/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
int16_t val )
static

Writes val to fd, in network byte order (MSB first).

Returns the number of bytes written (2) on success, less on failure.

◆ Write() [25/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
int32_t val )
static

Writes val to fd, in network byte order (MSB first).

Returns the number of bytes written (4) on success, less on failure.

◆ Write() [26/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
uint16_t val )
static

Writes val to fd, in network byte order (MSB first).

Returns the number of bytes written (2) on success, less on failure.

◆ Write() [27/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
uint32_t val )
static

Writes val to fd, in network byte order (MSB first).

Returns the number of bytes written (4) on success, less on failure.

◆ Write() [28/28]

static ssize_t Dwm::DescriptorIO::Write ( int fd,
uint8_t c )
static

Writes c to fd.

Returns the number of bytes written (1) on success, less on failure.

◆ WriteV()

template<typename ... Args>
static ssize_t Dwm::DescriptorIO::WriteV ( int fd,
const Args &... args )
inlinestatic

Writes args to fd.

Returns the number of bytes written on success, -1 on failure.

Here is the call graph for this function:

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