| // Copyright 2014 The ChromiumOS Authors | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef LIBBRILLO_BRILLO_POINTER_UTILS_H_ | |
| #define LIBBRILLO_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 // LIBBRILLO_BRILLO_POINTER_UTILS_H_ |