/* SPDX-License-Identifier: BSL-1.0 OR BSD-3-Clause */ #ifndef MPT_IO_READ_FILECURSOR_MEMORY_HPP #define MPT_IO_READ_FILECURSOR_MEMORY_HPP #include "mpt/base/namespace.hpp" #include "mpt/base/span.hpp" #include "mpt/io_read/filecursor.hpp" #include "mpt/io_read/filecursor_traits_filedata.hpp" #include "mpt/io_read/filecursor_filename_traits.hpp" #include #include namespace mpt { inline namespace MPT_INLINE_NS { namespace IO { // Initialize file reader object with pointer to data and data length. template inline FileCursor> make_FileCursor(mpt::span bytedata, std::shared_ptr filename = nullptr) { return FileCursor>(mpt::byte_cast(bytedata), std::move(filename)); } } // namespace IO } // namespace MPT_INLINE_NS } // namespace mpt #endif // MPT_IO_READ_FILECURSOR_STDSTREAM_HPP