#include "deimos/core/io.h"

namespace deimos
{

void BufferWriter::Write(Span<const std::byte> to_write)
{
    Expects(m_written <= m_size);

    const int64_t n_to_write = Min(to_write.size(), m_size - m_written);
    MemoryCopy(m_buffer + m_written, to_write.data(), n_to_write); // NOLINT
    m_written += n_to_write;

    Ensures(m_written <= m_size);
}

} // namespace deimos