, /anything/, . , - : std::ostream::write std::istream::read.
template<typename T>
std::enable_if<std::is_trivial<T>, void>
bin_write(std::ostream& out, const T& data) {
out.write(reinterpret_cast<const char*>(&data), sizeof(T));
}
template<typename T>
std::enable_if<std::is_trivial<T>::value, T>
bin_read(std::istream& in) {
using T_in = std::remove_cv_t<T>;
T_ buffer;
in.read(reinterpret_cast<char*>(&buffer), sizeof(T_));
return buffer;
}
, raw- ( , std::experimental::observer_ptr). , . , , , , CCC GCC GCC.