// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef BASE_MEMORY_SHARED_MEMORY_MAPPER_H_ #define BASE_MEMORY_SHARED_MEMORY_MAPPER_H_ #include <stdint.h> #include <optional> #include "base/base_export.h" #include "base/containers/span.h" #include "base/memory/platform_shared_memory_handle.h" namespace base { // Interface to implement mapping and unmapping of shared memory regions into // the virtual address space. The default implementation, // |PlatformSharedMemoryMapper| uses the platform-specific APIs to map the // region anywhere in the address space. Other implementations can be used for // example to always map the regions into an existing address space reservation. // Implementations of this interface should generally be statically allocated // as SharedMemoryMappings keep a reference to their mapper. class BASE_EXPORT SharedMemoryMapper { … }; } // namespace base #endif // BASE_MEMORY_SHARED_MEMORY_MAPPER_H_