// Copyright 2014 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef LIBCHROMEOS_BRILLO_POINTER_UTILS_H_
#define LIBCHROMEOS_BRILLO_POINTER_UTILS_H_

#include <cstdint>
#include <sys/types.h>

namespace brillo {

// AdvancePointer() is a helper function to advance void pointer by
// |byte_offset| bytes. Both const and non-const overloads are provided.
inline void* AdvancePointer(void* pointer, ssize_t byte_offset) {
  return reinterpret_cast<uint8_t*>(pointer) + byte_offset;
}
inline const void* AdvancePointer(const void* pointer, ssize_t byte_offset) {
  return reinterpret_cast<const uint8_t*>(pointer) + byte_offset;
}

}  // namespace brillo

#endif  // LIBCHROMEOS_BRILLO_POINTER_UTILS_H_
