// Copyright 2019 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "util/big_endian.h" namespace openscreen { BigEndianReader::BigEndianReader(const uint8_t* buffer, size_t length) : BigEndianBuffer(buffer, length) {} bool BigEndianReader::Read(size_t length, void* out) { const uint8_t* read_position = current(); if (Skip(length)) { memcpy(out, read_position, length); return true; } return false; } BigEndianWriter::BigEndianWriter(uint8_t* buffer, size_t length) : BigEndianBuffer(buffer, length) {} bool BigEndianWriter::Write(const void* buffer, size_t length) { uint8_t* write_position = current(); if (Skip(length)) { memcpy(write_position, buffer, length); return true; } return false; } } // namespace openscreen