载入中...
搜索中...
未找到
RuntimeDefinition.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
7#include "common/Result.h"
8#include "common/Value.h"
9
10#include <cstdint>
11#include <span>
12#include <vector>
13
14namespace eve::asset {
15
18 std::uint64_t maximumBytes = 64ull * 1024ull * 1024ull;
19 std::uint32_t maximumDepth = 128;
20 std::uint32_t maximumValues = 1'000'000;
21 std::uint32_t maximumStringBytes = 4 * 1024 * 1024;
22};
23
30 const Value& value, const RuntimeDefinitionLimits& limits = {});
31
37[[nodiscard]] EVENGINE_API_FOUNDATION Result<Value> decodeRuntimeDefinition(std::span<const std::uint8_t> bytes,
38 const RuntimeDefinitionLimits& limits = {});
39
40} // namespace eve::asset
double value
#define EVENGINE_API_FOUNDATION
每个链接组(link group)各自的导出宏。
Definition Export.h:106
std::uint64_t bytes
Move-only, checked operation results for the common layer.
const AssetImportLimits & limits
Owning, renderer-independent dynamic values.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
The canonical owning dynamic value used by data-facing protocols.
Definition Value.h:31
Result< Value > decodeRuntimeDefinition(std::span< const std::uint8_t > bytes, const RuntimeDefinitionLimits &limits)
Decode a bounded EVDEF\0\1 metadata tree without a JSON parser.
Result< std::vector< std::uint8_t > > encodeRuntimeDefinition(const Value &value, const RuntimeDefinitionLimits &limits)
Encode an owning metadata tree as deterministic EVDEF\0\1 bytes.
Structural and allocation limits for untrusted EVDEF metadata.