ITokens.h#

Fully qualified name: carb/tokens/ITokens.h

File members: carb/tokens/ITokens.h

// SPDX-FileCopyrightText: Copyright (c) 2019-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 "../Interface.h"
#include "../cpp/ZStringView.h"
#include "../cpp/StringView.h"
#include "../../omni/String.h"

#define carb_tokens_ITokens_latest CARB_HEXVERSION(2, 1)
#ifndef carb_tokens_ITokens
#    define carb_tokens_ITokens CARB_HEXVERSION(1, 1)
#endif

namespace carb::tokens
{

enum class ResolveError
{
    eTruncated,
    eFailure,
};

using ResolveFlags = uint32_t;
const ResolveFlags kResolveFlagNone = 0;
const ResolveFlags kResolveFlagLeaveTokenIfNotFound = 1;

} // namespace carb::tokens

#if CARB_VERSION_ATLEAST(carb_tokens_ITokens, 2, 0)
#    include "detail/ITokens2.h"
#else
#    include "detail/ITokens1.h"
#endif