IFileSystem.h#

Fully qualified name: carb/filesystem/IFileSystem.h

File members: carb/filesystem/IFileSystem.h

// SPDX-FileCopyrightText: Copyright (c) 2018-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
//
// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
// property and proprietary rights in and to this material, related
// documentation and any modifications thereto. Any use, reproduction,
// disclosure or distribution of this material and related documentation
// without an express license agreement from NVIDIA CORPORATION or
// its affiliates is strictly prohibited.

#pragma once

#include "../Assert.h"
#include "../Types.h"

#include "FileSystemTypes.h"

#include <string>

#define carb_filesystem_IFileSystem_latest CARB_HEXVERSION(2, 0)
#ifndef carb_filesystem_IFileSystem
#    define carb_filesystem_IFileSystem CARB_HEXVERSION(1, 3)
#endif

namespace carb::filesystem
{
} // namespace carb::filesystem

#if CARB_VERSION_ATLEAST(carb_filesystem_IFileSystem, 2, 0)
#    include "detail/IFileSystem2.h"
#    define CARB_FILESYSTEM2_DEPRECATED(msg) [[deprecated(msg)]]
#else
#    include "detail/IFileSystem1.h"
#    define CARB_FILESYSTEM2_DEPRECATED(msg)
#endif