Deterministic owning value tree shared by authoring hosts. 更多...
#include <EditingValue.h>
Public 类型 | |
| enum class | Type { Null , Bool , Integer , Number , String , Array , Object } |
| Type public API. 更多... | |
| using | Array = std::vector< Value > |
| using | Object = std::map< std::string, Value > |
| using | Storage = std::variant< std::monostate, bool, int64_t, double, std::string, Array, Object > |
Public 成员函数 | |
| Value ()=default | |
| Value (std::nullptr_t) | |
| Value (bool value) | |
| Value (int value) | |
| Value (int64_t value) | |
| Value (float value) | |
| Value (double value) | |
| Value (const char *value) | |
| Value (std::string value) | |
| Value (Array value) | |
| Value (Object value) | |
| Type | type () const |
| Return the active value type. | |
| const Storage & | storage () const |
| Return the underlying variant for typed visitors. | |
| Storage & | storage () |
| Return mutable storage; all child borrows are invalidated by mutation. | |
| template<class T > | |
| const T * | getIf () const |
| Return an immediately borrowed typed value. | |
| template<class T > | |
| T * | getIf () |
| Return an immediately borrowed mutable value. | |
| bool | isWithinLimits (size_t maxDepth, size_t maxElements, size_t maxStringBytes) const |
| Validate nesting, element count and approximate string byte limits. | |
| bool | operator== (const Value &) const =default |
详细描述
Deterministic owning value tree shared by authoring hosts.
Objects use std::map so serialization and equality do not depend on insertion order. Native pointers and runtime handles are intentionally excluded.
在文件 EditingValue.h 第 19 行定义.
成员类型定义说明
◆ Array
| using eve::editing::Value::Array = std::vector<Value> |
在文件 EditingValue.h 第 21 行定义.
◆ Object
| using eve::editing::Value::Object = std::map<std::string, Value> |
在文件 EditingValue.h 第 22 行定义.
◆ Storage
| using eve::editing::Value::Storage = std::variant<std::monostate, bool, int64_t, double, std::string, Array, Object> |
在文件 EditingValue.h 第 23 行定义.
成员枚举类型说明
◆ Type
|
strong |
构造及析构函数说明
◆ Value() [1/11]
|
default |
◆ Value() [2/11]
|
inline |
在文件 EditingValue.h 第 29 行定义.
◆ Value() [3/11]
|
inline |
在文件 EditingValue.h 第 30 行定义.
◆ Value() [4/11]
|
inline |
在文件 EditingValue.h 第 31 行定义.
◆ Value() [5/11]
|
inline |
在文件 EditingValue.h 第 32 行定义.
◆ Value() [6/11]
|
inline |
在文件 EditingValue.h 第 33 行定义.
◆ Value() [7/11]
|
inline |
在文件 EditingValue.h 第 34 行定义.
◆ Value() [8/11]
|
inline |
在文件 EditingValue.h 第 35 行定义.
引用了 string.
◆ Value() [9/11]
|
inline |
在文件 EditingValue.h 第 36 行定义.
◆ Value() [10/11]
|
inline |
在文件 EditingValue.h 第 37 行定义.
◆ Value() [11/11]
|
inline |
在文件 EditingValue.h 第 38 行定义.
成员函数说明
◆ getIf() [1/2]
|
inline |
Return an immediately borrowed mutable value.
- 返回
- Borrowed pointer into this value, or null on type mismatch. @lifetime Valid until this Value is mutated or destroyed.
在文件 EditingValue.h 第 62 行定义.
◆ getIf() [2/2]
|
inline |
Return an immediately borrowed typed value.
- 返回
- Borrowed pointer into this value, or null on type mismatch. @lifetime Valid until this Value is mutated or destroyed.
在文件 EditingValue.h 第 53 行定义.
被这些函数引用 eve::lighting_editing::Light3DRuntimeApplier::apply(), eve::lighting_editing::EnvironmentRuntimeApplier::applyDayNight(), eve::animation_editing::AnimationClipDocumentTarget::applyDomainOperation(), eve::audio_editing::AudioEffectChainTarget::applyDomainOperation(), eve::audio_editing::AudioSourceTarget::applyDomainOperation(), eve::lighting_editing::LightingPropertyTargetBase::applyDomainOperation(), eve::material_editing::MaterialDocumentTarget::applyDomainOperation(), eve::physics_editing::PhysicsColliderTarget::applyDomainOperation(), eve::physics_editing::PhysicsJointTarget::applyDomainOperation(), eve::scene_editing::SceneTargetBase::applyDomainOperation(), eve::social_editing::SocialDocumentTarget::applyDomainOperation(), eve::procgen_editing::ProcgenScriptDocumentTarget::applyDomainOperation(), eve::lighting_editing::EnvironmentRuntimeApplier::applyWeather(), eve::animation_editing::AnimationClipRuntimeBuilder::build(), eve::decal_editing::DecalGizmoPreviewService::build(), eve::dialogue_editing::DialogueGraphRuntimeBuilder::build(), eve::dialogue_editing::DialogueGraphDomain::compile(), eve::particles_graphics_editing::ParticleEmitterOffscreenPresenter::draw(), eve::procgen_editing::detail::encodeBlockedLink(), eve::procgen_editing::detail::encodeConnectAtPosition(), eve::procgen_editing::detail::encodeDisconnectAtPosition(), eve::procgen_editing::detail::encodeEdgeRecord(), eve::procgen_editing::detail::field(), eve::physics::ClothModel::fromValue(), eve::ui_editor::UiThemeEditor::getColorChannel(), eve::ui_editor::UiThemeEditor::getFloat(), eve::editor::EditorAutomationProvider::invoke(), eve::procgen_editing::ProcgenScriptDocumentTarget::loadSnapshot(), eve::animation_editing::AnimationClipDocumentTarget::loadSnapshot(), eve::audio_editing::AudioSourceTarget::loadSnapshot(), eve::audio_editing::AudioMixerTarget::loadSnapshot(), eve::fluids_editing::VolumeFluidTarget::loadSnapshot(), eve::lighting_editing::LightingPropertyTargetBase::loadSnapshot(), eve::material_editing::MaterialDocumentTarget::loadSnapshot(), eve::physics_editing::PhysicsColliderTarget::loadSnapshot(), eve::ui_editing::UiDocumentTarget::loadSnapshot(), eve::ui_editing::UiThemeCatalogTarget::loadSnapshot(), eve::editor::ScenePrefabService::loadSnapshot(), eve::procgen_editing::ProcgenScriptDocumentTarget::makeSet(), eve::editor::ProjectSettingsTarget::makeSet(), eve::fluids_editing::FluidSimulationTarget::makeSet(), eve::fluids_editing::SurfaceFluidTarget::makeSet(), eve::fluids_editing::VolumeFluidTarget::makeSet(), eve::gpuagents_editing::GpuAgentsDocumentTarget::makeSet(), eve::procgen_editing::ProcgenScriptDocumentTarget::parseSpec(), eve::ui_editing::parseThemeTokens(), eve::particles_editing::ParticleGraphDomain::preview(), eve::decal_editing::DecalRuntimeBinding::publish(), eve::action_editor::registerEditingCommands(), eve::animation_editing::registerEditingCommands(), eve::audio_editing::registerEditingCommands(), eve::material_editing::registerEditingCommands() , 以及 eve::scene_editing::registerEditingCommands().
◆ isWithinLimits()
| bool eve::editing::Value::isWithinLimits | ( | size_t | maxDepth, |
| size_t | maxElements, | ||
| size_t | maxStringBytes | ||
| ) | const |
Validate nesting, element count and approximate string byte limits.
- 参数
-
maxDepth Maximum object/array nesting depth, including this value. maxElements Maximum total array entries and object fields. maxStringBytes Maximum total bytes across keys and string values.
- 返回
- True when all limits are satisfied.
在文件 EditingValue.cpp 第 50 行定义.
被这些函数引用 eve::avatar_editing::AvatarDocumentTarget::applyDomainOperation(), eve::hd2d_editing::Hd2dDocumentTarget::applyDomainOperation(), eve::biome_editing::BiomeDocumentTarget::applyDomainOperation(), eve::sceneloader_editing::SceneImportTarget::applyDomainOperation(), eve::voxel_editing::VoxelCatalogTarget::applyDomainOperation(), eve::voxel_editing::VoxelPaletteTarget::applyDomainOperation(), eve::housegen_editing::HouseGenDocumentTarget::applyDomainOperation(), eve::spritestack_editing::SpriteStackDocumentTarget::applyDomainOperation(), eve::virtualgeometry_editing::VirtualGeometryDocumentTarget::applyDomainOperation() , 以及 eve::editing::GraphDocument::setParameters().
◆ operator==()
|
default |
◆ storage() [1/2]
|
inline |
Return mutable storage; all child borrows are invalidated by mutation.
在文件 EditingValue.h 第 45 行定义.
◆ storage() [2/2]
|
inline |
Return the underlying variant for typed visitors.
在文件 EditingValue.h 第 43 行定义.
◆ type()
| Value::Type eve::editing::Value::type | ( | ) | const |
Return the active value type.
在文件 EditingValue.cpp 第 7 行定义.
被这些函数引用 eve::procgen::generateTerrainNoiseMask(), eve::schema::Schema::registerFromClass(), eve::definitions_editing::DefinitionSchemaFormTarget::schema(), eve::physics::FractureRecipe::schemaDefinition(), eve::physics::GeometryCollectionAsset::schemaDefinition(), eve::physics::GeometryCollectionInstanceSnapshot::schemaDefinition(), eve::physics::SoftBody3DDefinition::schemaDefinition(), eve::physics::SoftBodyModelDefinition::schemaDefinition(), eve::editing::GraphDocument::setParameters() , 以及 eve::dnut::StepKindRegistry::validate().
该类的文档由以下文件生成:
- src/modules/editing/EditingValue.h
- src/modules/editing/EditingValue.cpp