73 std::vector<char> buffer;
75 auto* archiveHandle = [&archive]() {
78 const auto& realArchive =
dynamic_cast<const Archive&
>(archive);
79 return peak::common::detail::BackendAccessor<Archive>::BackendHandle(realArchive);
81 catch (std::bad_cast&)
83 throw InternalErrorException(
"The given archive is invalid. This should not happen.", PEAK_ICV_STATUS_INTERNAL_ERROR);
89 return PEAK_ICV_C_ABI_PREFIX peak_icv_Archive_ToString_GetSizeInBytes(
96 return PEAK_ICV_C_ABI_PREFIX peak_icv_Archive_ToString(
100 stream.write(buffer.data(),
static_cast<std::streamsize
>(buffer.size() - 1));