载入中...
搜索中...
未找到
eve::editing::Value类 参考

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

enum class eve::editing::Value::Type
strong

Type public API.

枚举值
Null 
Bool 
Integer 
Number 
String 
Array 
Object 

在文件 EditingValue.h 第 26 行定义.

构造及析构函数说明

◆ Value() [1/11]

eve::editing::Value::Value ( )
default

◆ Value() [2/11]

eve::editing::Value::Value ( std::nullptr_t  )
inline

在文件 EditingValue.h 第 29 行定义.

◆ Value() [3/11]

eve::editing::Value::Value ( bool  value)
inline

在文件 EditingValue.h 第 30 行定义.

◆ Value() [4/11]

eve::editing::Value::Value ( int  value)
inline

在文件 EditingValue.h 第 31 行定义.

◆ Value() [5/11]

eve::editing::Value::Value ( int64_t  value)
inline

在文件 EditingValue.h 第 32 行定义.

◆ Value() [6/11]

eve::editing::Value::Value ( float  value)
inline

在文件 EditingValue.h 第 33 行定义.

◆ Value() [7/11]

eve::editing::Value::Value ( double  value)
inline

在文件 EditingValue.h 第 34 行定义.

◆ Value() [8/11]

eve::editing::Value::Value ( const char *  value)
inline

在文件 EditingValue.h 第 35 行定义.

引用了 string.

◆ Value() [9/11]

eve::editing::Value::Value ( std::string  value)
inline

在文件 EditingValue.h 第 36 行定义.

◆ Value() [10/11]

eve::editing::Value::Value ( Array  value)
inline

在文件 EditingValue.h 第 37 行定义.

◆ Value() [11/11]

eve::editing::Value::Value ( Object  value)
inline

在文件 EditingValue.h 第 38 行定义.

成员函数说明

◆ getIf() [1/2]

template<class T >
T * eve::editing::Value::getIf ( )
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]

template<class T >
const T * eve::editing::Value::getIf ( ) const
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

◆ operator==()

bool eve::editing::Value::operator== ( const Value &  ) const
default

◆ storage() [1/2]

Storage & eve::editing::Value::storage ( )
inline

Return mutable storage; all child borrows are invalidated by mutation.

在文件 EditingValue.h 第 45 行定义.

◆ storage() [2/2]

const Storage & eve::editing::Value::storage ( ) const
inline

Return the underlying variant for typed visitors.

在文件 EditingValue.h 第 43 行定义.

◆ type()


该类的文档由以下文件生成: