14 static void pup(std::ostream& stream, T& value) {
15 stream.write(
reinterpret_cast<
char*>(&value),
sizeof(T));
21 static void pup(std::istream& stream, T& value) {
22 stream.read(
reinterpret_cast<
char*>(&value),
sizeof(T));
33 template <
typename Stream,
typename PupStream>
47 if constexpr (std::is_same<std::string, T>{}) {
48 pupene::
fns::pup_iterable(*
this, value, {});
50 PupStream::pup(stream, value);
pup object using its component pup functions
void pup(T &value, const Meta &)
static void pup(std::istream &stream, T &value)
~BinaryPupper() override=default
PupPolicy begin(T &, const Meta &)
BinaryPupper(Stream &stream)
PupPolicy
Controls an object's pup() behavior.
static void pup(std::ostream &stream, T &value)
Base class for working with puppable types.