99 std::vector<char> buffer;
101 auto* archiveHandle = [&archive]() {
104 const auto& realArchive =
dynamic_cast<const Archive&
>(archive);
105 return peak::common::detail::BackendAccessor<Archive>::BackendHandle(realArchive);
107 catch (std::bad_cast&)
109 throw InternalErrorException(
"The given archive is invalid. This should not happen.", PEAK_ICV_STATUS_INTERNAL_ERROR);
115 return PEAK_ICV_C_ABI_PREFIX peak_icv_Archive_ToString_GetSizeInBytes(
122 return PEAK_ICV_C_ABI_PREFIX peak_icv_Archive_ToString(
126 stream.write(buffer.data(),
static_cast<std::streamsize
>(buffer.size() - 1));