25 #ifndef CARGO_FD_TO_FDSTORE_VISITOR_HPP
26 #define CARGO_FD_TO_FDSTORE_VISITOR_HPP
57 void visit(
const std::string&,
const T& value)
73 size_t size = std::strlen(value);
83 template<typename T, typename std::enable_if<std::is_enum<T>::value,
int>::type = 0>
86 writeInternal(
static_cast<const typename std::underlying_type<T>::type
>(value));
89 template<typename T, typename std::enable_if<std::is_arithmetic<T>::value,
int>::type = 0>
95 template<typename T, typename std::enable_if<isVisitable<T>::value,
int>::type = 0>
99 value.accept(visitor);
106 for (
const T& value: values) {
111 template<
typename T, std::
size_t N>
114 for (
const T& value: values) {
123 for (
const auto& value: values) {
128 template<typename T, typename std::enable_if<isLikeTuple<T>::value,
int>::type = 0>
138 #endif // CARGO_FD_TO_FDSTORE_VISITOR_HPP
Definition: fdstore.hpp:36
Internal configuration helper.
void writeInternal(const cargo::FileDescriptor &fd)
Definition: to-fdstore-visitor.hpp:78
Definition: to-fdstore-visitor.hpp:44
FDStore mStore
Definition: to-fdstore-visitor.hpp:63
Whenever possible, this type will be serialized using Linux file descriptor passing.
Definition: types.hpp:33
Helper function for iterating tuples, pairs and arrays.
void sendFD(int fd, const unsigned int timeoutMS=maxTimeout)
Definition: fdstore.cpp:168
ToFDStoreVisitor(int fd)
Definition: to-fdstore-visitor.hpp:47
void writeInternal(const char *&value)
Definition: to-fdstore-visitor.hpp:71
ToFDStoreVisitor & operator=(const ToFDStoreVisitor &)=delete
void write(const void *bufferPtr, const size_t size, const unsigned int timeoutMS=maxTimeout)
Write data using the file descriptor.
Definition: fdstore.cpp:104
void writeInternal(const std::map< std::string, V > &values)
Definition: to-fdstore-visitor.hpp:120
void writeInternal(const std::array< T, N > &values)
Definition: to-fdstore-visitor.hpp:112
void writeInternal(const std::string &value)
Definition: to-fdstore-visitor.hpp:65
void writeInternal(const std::vector< T > &values)
Definition: to-fdstore-visitor.hpp:103
void visit(const std::string &, const T &value)
Definition: to-fdstore-visitor.hpp:57
int value
Definition: types.hpp:34
void writeInternal(const T &values)
Definition: to-fdstore-visitor.hpp:129
void writeInternal(const T &value)
Definition: to-fdstore-visitor.hpp:84
Declaration of a class for writing and reading data from a file descriptor.
void visitFields(T &t, F f, A...args)
Definition: visit-fields.hpp:58