.. _stdlib_rtti: ================================ 运行时类型信息库 ================================ .. include:: detail/rtti.rst RTTI 模块向 Daslang 反映运行时类型信息。 它还将 Daslang 编译器基础结构暴露给 Daslang 运行时。 所有函数和符号都在 “rtti ”模块中,使用 require 可以访问该模块。:: require rtti ++++++++++++ Type aliases ++++++++++++ .. _alias-ProgramFlags: .. das:attribute:: ProgramFlags is a bitfield +-----------------+---+-----+ +field +bit+value+ +=================+===+=====+ +failToCompile +0 +1 + +-----------------+---+-----+ +_unsafe +1 +2 + +-----------------+---+-----+ +isCompiling +2 +4 + +-----------------+---+-----+ +isSimulating +3 +8 + +-----------------+---+-----+ +isCompilingMacros+4 +16 + +-----------------+---+-----+ +needMacroModule +5 +32 + +-----------------+---+-----+ +promoteToBuiltin +6 +64 + +-----------------+---+-----+ +isDependency +7 +128 + +-----------------+---+-----+ +macroException +8 +256 + +-----------------+---+-----+ |typedef-rtti-ProgramFlags| .. _alias-context_category_flags: .. das:attribute:: context_category_flags is a bitfield +-----------------+---+-----+ +field +bit+value+ +=================+===+=====+ +dead +0 +1 + +-----------------+---+-----+ +debug_context +1 +2 + +-----------------+---+-----+ +thread_clone +2 +4 + +-----------------+---+-----+ +job_clone +3 +8 + +-----------------+---+-----+ +opengl +4 +16 + +-----------------+---+-----+ +debugger_tick +5 +32 + +-----------------+---+-----+ +debugger_attached+6 +64 + +-----------------+---+-----+ +macro_context +7 +128 + +-----------------+---+-----+ +folding_context +8 +256 + +-----------------+---+-----+ +audio +9 +512 + +-----------------+---+-----+ |typedef-rtti-context_category_flags| .. _alias-TypeInfoFlags: .. das:attribute:: TypeInfoFlags is a bitfield +----------------+---+-----+ +field +bit+value+ +================+===+=====+ +ref +0 +1 + +----------------+---+-----+ +refType +1 +2 + +----------------+---+-----+ +canCopy +2 +4 + +----------------+---+-----+ +isPod +3 +8 + +----------------+---+-----+ +isRawPod +4 +16 + +----------------+---+-----+ +isConst +5 +32 + +----------------+---+-----+ +isTemp +6 +64 + +----------------+---+-----+ +isImplicit +7 +128 + +----------------+---+-----+ +refValue +8 +256 + +----------------+---+-----+ +hasInitValue +9 +512 + +----------------+---+-----+ +isSmartPtr +10 +1024 + +----------------+---+-----+ +isSmartPtrNative+11 +2048 + +----------------+---+-----+ +isHandled +12 +4096 + +----------------+---+-----+ +heapGC +13 +8192 + +----------------+---+-----+ +stringHeapGC +14 +16384+ +----------------+---+-----+ +lockCheck +15 +32768+ +----------------+---+-----+ +isPrivate +16 +65536+ +----------------+---+-----+ |typedef-rtti-TypeInfoFlags| .. _alias-StructInfoFlags: .. das:attribute:: StructInfoFlags is a bitfield +------------+---+-----+ +field +bit+value+ +============+===+=====+ +_class +0 +1 + +------------+---+-----+ +_lambda +1 +2 + +------------+---+-----+ +heapGC +2 +4 + +------------+---+-----+ +stringHeapGC+3 +8 + +------------+---+-----+ +lockCheck +4 +16 + +------------+---+-----+ |typedef-rtti-StructInfoFlags| .. _alias-ModuleFlags: .. das:attribute:: ModuleFlags is a bitfield +----------------+---+-----+ +field +bit+value+ +================+===+=====+ +builtIn +0 +1 + +----------------+---+-----+ +promoted +1 +2 + +----------------+---+-----+ +isPublic +2 +4 + +----------------+---+-----+ +isModule +3 +8 + +----------------+---+-----+ +isSolidContext +4 +16 + +----------------+---+-----+ +doNotAllowUnsafe+5 +32 + +----------------+---+-----+ |typedef-rtti-ModuleFlags| .. _alias-AnnotationDeclarationFlags: .. das:attribute:: AnnotationDeclarationFlags is a bitfield +---------+---+-----+ +field +bit+value+ +=========+===+=====+ +inherited+0 +1 + +---------+---+-----+ |typedef-rtti-AnnotationDeclarationFlags| .. _alias-RttiValue: .. das:attribute:: RttiValue is a variant type +-------+------+ +tBool +bool + +-------+------+ +tInt +int + +-------+------+ +tUInt +uint + +-------+------+ +tInt64 +int64 + +-------+------+ +tUInt64+uint64+ +-------+------+ +tFloat +float + +-------+------+ +tDouble+double+ +-------+------+ +tString+string+ +-------+------+ +nothing+any + +-------+------+ |typedef-rtti-RttiValue| .. _alias-FileAccessPtr: .. das:attribute:: FileAccessPtr = smart_ptr |typedef-rtti-FileAccessPtr| +++++++++ Constants +++++++++ .. _global-rtti-FUNCINFO_INIT: .. das:attribute:: FUNCINFO_INIT = 0x1 |variable-rtti-FUNCINFO_INIT| .. _global-rtti-FUNCINFO_BUILTIN: .. das:attribute:: FUNCINFO_BUILTIN = 0x2 |variable-rtti-FUNCINFO_BUILTIN| .. _global-rtti-FUNCINFO_PRIVATE: .. das:attribute:: FUNCINFO_PRIVATE = 0x4 |variable-rtti-FUNCINFO_PRIVATE| .. _global-rtti-FUNCINFO_SHUTDOWN: .. das:attribute:: FUNCINFO_SHUTDOWN = 0x8 |variable-rtti-FUNCINFO_SHUTDOWN| .. _global-rtti-FUNCINFO_LATE_INIT: .. das:attribute:: FUNCINFO_LATE_INIT = 0x20 |variable-rtti-FUNCINFO_LATE_INIT| ++++++++++++ Enumerations ++++++++++++ .. _enum-rtti-CompilationError: .. das:attribute:: CompilationError +-----------------------------------+-----+ +unspecified +0 + +-----------------------------------+-----+ +mismatching_parentheses +10001+ +-----------------------------------+-----+ +mismatching_curly_bracers +10002+ +-----------------------------------+-----+ +string_constant_exceeds_file +10003+ +-----------------------------------+-----+ +string_constant_exceeds_line +10004+ +-----------------------------------+-----+ +unexpected_close_comment +10005+ +-----------------------------------+-----+ +integer_constant_out_of_range +10006+ +-----------------------------------+-----+ +comment_contains_eof +10007+ +-----------------------------------+-----+ +invalid_escape_sequence +10008+ +-----------------------------------+-----+ +invalid_line_directive +10009+ +-----------------------------------+-----+ +syntax_error +20000+ +-----------------------------------+-----+ +malformed_ast +20001+ +-----------------------------------+-----+ +invalid_type +30101+ +-----------------------------------+-----+ +invalid_return_type +30102+ +-----------------------------------+-----+ +invalid_argument_type +30103+ +-----------------------------------+-----+ +invalid_structure_field_type +30104+ +-----------------------------------+-----+ +invalid_array_type +30105+ +-----------------------------------+-----+ +invalid_table_type +30106+ +-----------------------------------+-----+ +invalid_argument_count +30107+ +-----------------------------------+-----+ +invalid_variable_type +30108+ +-----------------------------------+-----+ +invalid_new_type +30109+ +-----------------------------------+-----+ +invalid_index_type +30110+ +-----------------------------------+-----+ +invalid_annotation +30111+ +-----------------------------------+-----+ +invalid_swizzle_mask +30112+ +-----------------------------------+-----+ +invalid_initialization_type +30113+ +-----------------------------------+-----+ +invalid_with_type +30114+ +-----------------------------------+-----+ +invalid_override +30115+ +-----------------------------------+-----+ +invalid_name +30116+ +-----------------------------------+-----+ +invalid_array_dimension +30117+ +-----------------------------------+-----+ +invalid_iteration_source +30118+ +-----------------------------------+-----+ +invalid_loop +30119+ +-----------------------------------+-----+ +invalid_label +30120+ +-----------------------------------+-----+ +invalid_enumeration +30121+ +-----------------------------------+-----+ +invalid_option +30122+ +-----------------------------------+-----+ +invalid_member_function +30123+ +-----------------------------------+-----+ +function_already_declared +30201+ +-----------------------------------+-----+ +argument_already_declared +30202+ +-----------------------------------+-----+ +local_variable_already_declared +30203+ +-----------------------------------+-----+ +global_variable_already_declared +30204+ +-----------------------------------+-----+ +structure_field_already_declared +30205+ +-----------------------------------+-----+ +structure_already_declared +30206+ +-----------------------------------+-----+ +structure_already_has_initializer +30207+ +-----------------------------------+-----+ +enumeration_already_declared +30208+ +-----------------------------------+-----+ +enumeration_value_already_declared +30209+ +-----------------------------------+-----+ +type_alias_already_declared +30210+ +-----------------------------------+-----+ +field_already_initialized +30211+ +-----------------------------------+-----+ +type_not_found +30301+ +-----------------------------------+-----+ +structure_not_found +30302+ +-----------------------------------+-----+ +operator_not_found +30303+ +-----------------------------------+-----+ +function_not_found +30304+ +-----------------------------------+-----+ +variable_not_found +30305+ +-----------------------------------+-----+ +handle_not_found +30306+ +-----------------------------------+-----+ +annotation_not_found +30307+ +-----------------------------------+-----+ +enumeration_not_found +30308+ +-----------------------------------+-----+ +enumeration_value_not_found +30309+ +-----------------------------------+-----+ +type_alias_not_found +30310+ +-----------------------------------+-----+ +bitfield_not_found +30311+ +-----------------------------------+-----+ +cant_initialize +30401+ +-----------------------------------+-----+ +cant_dereference +30501+ +-----------------------------------+-----+ +cant_index +30502+ +-----------------------------------+-----+ +cant_get_field +30503+ +-----------------------------------+-----+ +cant_write_to_const +30504+ +-----------------------------------+-----+ +cant_move_to_const +30505+ +-----------------------------------+-----+ +cant_write_to_non_reference +30506+ +-----------------------------------+-----+ +cant_copy +30507+ +-----------------------------------+-----+ +cant_move +30508+ +-----------------------------------+-----+ +cant_pass_temporary +30509+ +-----------------------------------+-----+ +condition_must_be_bool +30601+ +-----------------------------------+-----+ +condition_must_be_static +30602+ +-----------------------------------+-----+ +cant_pipe +30701+ +-----------------------------------+-----+ +invalid_block +30801+ +-----------------------------------+-----+ +return_or_break_in_finally +30802+ +-----------------------------------+-----+ +module_not_found +30901+ +-----------------------------------+-----+ +module_already_has_a_name +30902+ +-----------------------------------+-----+ +cant_new_handle +31001+ +-----------------------------------+-----+ +bad_delete +31002+ +-----------------------------------+-----+ +cant_infer_generic +31100+ +-----------------------------------+-----+ +cant_infer_missing_initializer +31101+ +-----------------------------------+-----+ +cant_infer_mismatching_restrictions+31102+ +-----------------------------------+-----+ +invalid_cast +31200+ +-----------------------------------+-----+ +incompatible_cast +31201+ +-----------------------------------+-----+ +unsafe +31300+ +-----------------------------------+-----+ +index_out_of_range +31400+ +-----------------------------------+-----+ +expecting_return_value +32101+ +-----------------------------------+-----+ +not_expecting_return_value +32102+ +-----------------------------------+-----+ +invalid_return_semantics +32103+ +-----------------------------------+-----+ +invalid_yield +32104+ +-----------------------------------+-----+ +typeinfo_reference +39901+ +-----------------------------------+-----+ +typeinfo_auto +39902+ +-----------------------------------+-----+ +typeinfo_undefined +39903+ +-----------------------------------+-----+ +typeinfo_dim +39904+ +-----------------------------------+-----+ +typeinfo_macro_error +39905+ +-----------------------------------+-----+ +static_assert_failed +40100+ +-----------------------------------+-----+ +run_failed +40101+ +-----------------------------------+-----+ +annotation_failed +40102+ +-----------------------------------+-----+ +concept_failed +40103+ +-----------------------------------+-----+ +not_all_paths_return_value +40200+ +-----------------------------------+-----+ +assert_with_side_effects +40201+ +-----------------------------------+-----+ +only_fast_aot_no_cpp_name +40202+ +-----------------------------------+-----+ +aot_side_effects +40203+ +-----------------------------------+-----+ +no_global_heap +40204+ +-----------------------------------+-----+ +no_global_variables +40205+ +-----------------------------------+-----+ +unused_function_argument +40206+ +-----------------------------------+-----+ +unsafe_function +40207+ +-----------------------------------+-----+ +too_many_infer_passes +41000+ +-----------------------------------+-----+ +missing_node +50100+ +-----------------------------------+-----+ |enumeration-rtti-CompilationError| .. _enum-rtti-Type: .. das:attribute:: Type +--------------+--+ +none +0 + +--------------+--+ +autoinfer +1 + +--------------+--+ +alias +2 + +--------------+--+ +option +3 + +--------------+--+ +typeDecl +4 + +--------------+--+ +typeMacro +5 + +--------------+--+ +fakeContext +6 + +--------------+--+ +fakeLineInfo +7 + +--------------+--+ +anyArgument +8 + +--------------+--+ +tVoid +9 + +--------------+--+ +tBool +10+ +--------------+--+ +tInt8 +11+ +--------------+--+ +tUInt8 +12+ +--------------+--+ +tInt16 +13+ +--------------+--+ +tUInt16 +14+ +--------------+--+ +tInt64 +15+ +--------------+--+ +tUInt64 +16+ +--------------+--+ +tInt +17+ +--------------+--+ +tInt2 +18+ +--------------+--+ +tInt3 +19+ +--------------+--+ +tInt4 +20+ +--------------+--+ +tUInt +21+ +--------------+--+ +tUInt2 +22+ +--------------+--+ +tUInt3 +23+ +--------------+--+ +tUInt4 +24+ +--------------+--+ +tFloat +25+ +--------------+--+ +tFloat2 +26+ +--------------+--+ +tFloat3 +27+ +--------------+--+ +tFloat4 +28+ +--------------+--+ +tDouble +29+ +--------------+--+ +tRange +30+ +--------------+--+ +tURange +31+ +--------------+--+ +tRange64 +32+ +--------------+--+ +tURange64 +33+ +--------------+--+ +tString +34+ +--------------+--+ +tStructure +35+ +--------------+--+ +tHandle +36+ +--------------+--+ +tEnumeration +37+ +--------------+--+ +tEnumeration8 +38+ +--------------+--+ +tEnumeration16+39+ +--------------+--+ +tEnumeration64+40+ +--------------+--+ +tBitfield +41+ +--------------+--+ +tPointer +42+ +--------------+--+ +tFunction +43+ +--------------+--+ +tLambda +44+ +--------------+--+ +tIterator +45+ +--------------+--+ +tArray +46+ +--------------+--+ +tTable +47+ +--------------+--+ +tBlock +48+ +--------------+--+ +tTuple +49+ +--------------+--+ +tVariant +50+ +--------------+--+ |enumeration-rtti-Type| .. _enum-rtti-RefMatters: .. das:attribute:: RefMatters +---+-+ +no +0+ +---+-+ +yes+1+ +---+-+ |enumeration-rtti-RefMatters| .. _enum-rtti-ConstMatters: .. das:attribute:: ConstMatters +---+-+ +no +0+ +---+-+ +yes+1+ +---+-+ |enumeration-rtti-ConstMatters| .. _enum-rtti-TemporaryMatters: .. das:attribute:: TemporaryMatters +---+-+ +no +0+ +---+-+ +yes+1+ +---+-+ |enumeration-rtti-TemporaryMatters| ++++++++++++++++++ Handled structures ++++++++++++++++++ .. _handle-rtti-FileInfo: .. das:attribute:: FileInfo FileInfo fields are +-------+--------------------------------------------------------+ +name + :ref:`builtin::das_string ` + +-------+--------------------------------------------------------+ +tabSize+int + +-------+--------------------------------------------------------+ |structure_annotation-rtti-FileInfo| .. _handle-rtti-LineInfo: .. das:attribute:: LineInfo LineInfo fields are +-----------+-----------------------------------------------+ +last_column+uint + +-----------+-----------------------------------------------+ +line +uint + +-----------+-----------------------------------------------+ +last_line +uint + +-----------+-----------------------------------------------+ +column +uint + +-----------+-----------------------------------------------+ +fileInfo + :ref:`rtti::FileInfo ` ?+ +-----------+-----------------------------------------------+ |structure_annotation-rtti-LineInfo| .. _handle-rtti-Context: .. das:attribute:: Context Context fields are +--------------------------+--------------------------------------------------------------+ +breakOnException +bool + +--------------------------+--------------------------------------------------------------+ +exception +string const + +--------------------------+--------------------------------------------------------------+ +category + :ref:`context_category_flags ` + +--------------------------+--------------------------------------------------------------+ +alwaysErrorOnException +bool + +--------------------------+--------------------------------------------------------------+ +alwaysStackWalkOnException+bool + +--------------------------+--------------------------------------------------------------+ +contextMutex + :ref:`rtti::recursive_mutex ` ? + +--------------------------+--------------------------------------------------------------+ +last_exception +string const + +--------------------------+--------------------------------------------------------------+ +name + :ref:`builtin::das_string ` + +--------------------------+--------------------------------------------------------------+ +exceptionAt + :ref:`rtti::LineInfo ` + +--------------------------+--------------------------------------------------------------+ Context property operators are +------------------+------+ +totalFunctions +int + +------------------+------+ +totalVariables +int + +------------------+------+ +getCodeAllocatorId+uint64+ +------------------+------+ |structure_annotation-rtti-Context| .. _handle-rtti-Error: .. das:attribute:: Error Error fields are +-----+------------------------------------------------------------+ +fixme+ :ref:`builtin::das_string ` + +-----+------------------------------------------------------------+ +at + :ref:`rtti::LineInfo ` + +-----+------------------------------------------------------------+ +what + :ref:`builtin::das_string ` + +-----+------------------------------------------------------------+ +extra+ :ref:`builtin::das_string ` + +-----+------------------------------------------------------------+ +cerr + :ref:`rtti::CompilationError ` + +-----+------------------------------------------------------------+ |structure_annotation-rtti-Error| .. _handle-rtti-FileAccess: .. das:attribute:: FileAccess |structure_annotation-rtti-FileAccess| .. _handle-rtti-Module: .. das:attribute:: Module Module fields are +-----------+--------------------------------------------------------+ +moduleFlags+ :ref:`ModuleFlags ` + +-----------+--------------------------------------------------------+ +name + :ref:`builtin::das_string ` + +-----------+--------------------------------------------------------+ |structure_annotation-rtti-Module| .. _handle-rtti-ModuleGroup: .. das:attribute:: ModuleGroup |structure_annotation-rtti-ModuleGroup| .. _handle-rtti-AnnotationArgument: .. das:attribute:: AnnotationArgument AnnotationArgument fields are +---------+--------------------------------------------------------+ +fValue +float + +---------+--------------------------------------------------------+ +at + :ref:`rtti::LineInfo ` + +---------+--------------------------------------------------------+ +iValue +int + +---------+--------------------------------------------------------+ +name + :ref:`builtin::das_string ` + +---------+--------------------------------------------------------+ +sValue + :ref:`builtin::das_string ` + +---------+--------------------------------------------------------+ +bValue +bool + +---------+--------------------------------------------------------+ +basicType+ :ref:`rtti::Type ` + +---------+--------------------------------------------------------+ |structure_annotation-rtti-AnnotationArgument| .. _handle-rtti-Program: .. das:attribute:: Program Program fields are +--------------+--------------------------------------------------------------------------+ +thisModuleName+ :ref:`builtin::das_string ` + +--------------+--------------------------------------------------------------------------+ +_options + :ref:`rtti::AnnotationArgumentList ` + +--------------+--------------------------------------------------------------------------+ +errors +vector + +--------------+--------------------------------------------------------------------------+ +flags + :ref:`ProgramFlags ` + +--------------+--------------------------------------------------------------------------+ |structure_annotation-rtti-Program| .. _handle-rtti-Annotation: .. das:attribute:: Annotation Annotation fields are +-------+--------------------------------------------------------+ +_module+ :ref:`rtti::Module ` ? + +-------+--------------------------------------------------------+ +cppName+ :ref:`builtin::das_string ` + +-------+--------------------------------------------------------+ +name + :ref:`builtin::das_string ` + +-------+--------------------------------------------------------+ Annotation property operators are +--------------------------+----+ +isTypeAnnotation +bool+ +--------------------------+----+ +isBasicStructureAnnotation+bool+ +--------------------------+----+ +isStructureAnnotation +bool+ +--------------------------+----+ +isStructureTypeAnnotation +bool+ +--------------------------+----+ +isFunctionAnnotation +bool+ +--------------------------+----+ +isEnumerationAnnotation +bool+ +--------------------------+----+ |structure_annotation-rtti-Annotation| .. _handle-rtti-AnnotationDeclaration: .. das:attribute:: AnnotationDeclaration AnnotationDeclaration fields are +----------+--------------------------------------------------------------------------+ +annotation+smart_ptr< :ref:`rtti::Annotation ` > + +----------+--------------------------------------------------------------------------+ +arguments + :ref:`rtti::AnnotationArgumentList ` + +----------+--------------------------------------------------------------------------+ +at + :ref:`rtti::LineInfo ` + +----------+--------------------------------------------------------------------------+ +flags + :ref:`AnnotationDeclarationFlags ` + +----------+--------------------------------------------------------------------------+ |structure_annotation-rtti-AnnotationDeclaration| .. _handle-rtti-TypeAnnotation: .. das:attribute:: TypeAnnotation TypeAnnotation fields are +-------+--------------------------------------------------------+ +_module+ :ref:`rtti::Module ` ? + +-------+--------------------------------------------------------+ +cppName+ :ref:`builtin::das_string ` + +-------+--------------------------------------------------------+ +name + :ref:`builtin::das_string ` + +-------+--------------------------------------------------------+ TypeAnnotation property operators are +----------------------+------+ +is_any_vector +bool + +----------------------+------+ +canMove +bool + +----------------------+------+ +canCopy +bool + +----------------------+------+ +canClone +bool + +----------------------+------+ +isPod +bool + +----------------------+------+ +isRawPod +bool + +----------------------+------+ +isRefType +bool + +----------------------+------+ +hasNonTrivialCtor +bool + +----------------------+------+ +hasNonTrivialDtor +bool + +----------------------+------+ +hasNonTrivialCopy +bool + +----------------------+------+ +canBePlacedInContainer+bool + +----------------------+------+ +isLocal +bool + +----------------------+------+ +canNew +bool + +----------------------+------+ +canDelete +bool + +----------------------+------+ +needDelete +bool + +----------------------+------+ +canDeletePtr +bool + +----------------------+------+ +isIterable +bool + +----------------------+------+ +isShareable +bool + +----------------------+------+ +isSmart +bool + +----------------------+------+ +avoidNullPtr +bool + +----------------------+------+ +sizeOf +uint64+ +----------------------+------+ +alignOf +uint64+ +----------------------+------+ |structure_annotation-rtti-TypeAnnotation| .. _handle-rtti-BasicStructureAnnotation: .. das:attribute:: BasicStructureAnnotation BasicStructureAnnotation fields are +-------+--------------------------------------------------------+ +name + :ref:`builtin::das_string ` + +-------+--------------------------------------------------------+ +cppName+ :ref:`builtin::das_string ` + +-------+--------------------------------------------------------+ BasicStructureAnnotation property operators are +----------+---+ +fieldCount+int+ +----------+---+ |structure_annotation-rtti-BasicStructureAnnotation| .. _handle-rtti-EnumValueInfo: .. das:attribute:: EnumValueInfo EnumValueInfo fields are +-----+------------+ +value+int64 + +-----+------------+ +name +string const+ +-----+------------+ |structure_annotation-rtti-EnumValueInfo| .. _handle-rtti-EnumInfo: .. das:attribute:: EnumInfo EnumInfo fields are +-----------+----------------------------------------------------------+ +count +uint + +-----------+----------------------------------------------------------+ +name +string const + +-----------+----------------------------------------------------------+ +module_name+string const + +-----------+----------------------------------------------------------+ +hash +uint64 + +-----------+----------------------------------------------------------+ +fields + :ref:`rtti::EnumValueInfo ` ??+ +-----------+----------------------------------------------------------+ |structure_annotation-rtti-EnumInfo| .. _handle-rtti-StructInfo: .. das:attribute:: StructInfo StructInfo fields are +------------+------------------------------------------------+ +init_mnh +uint64 + +------------+------------------------------------------------+ +size +uint + +------------+------------------------------------------------+ +count +uint + +------------+------------------------------------------------+ +name +string const + +------------+------------------------------------------------+ +module_name +string const + +------------+------------------------------------------------+ +hash +uint64 + +------------+------------------------------------------------+ +firstGcField+uint + +------------+------------------------------------------------+ +flags + :ref:`StructInfoFlags ` + +------------+------------------------------------------------+ +fields + :ref:`rtti::VarInfo ` ?? + +------------+------------------------------------------------+ |structure_annotation-rtti-StructInfo| .. _handle-rtti-TypeInfo: .. das:attribute:: TypeInfo TypeInfo fields are +----------+------------------------------------------------+ +argTypes + :ref:`rtti::TypeInfo ` ??+ +----------+------------------------------------------------+ +size +uint + +----------+------------------------------------------------+ +secondType+ :ref:`rtti::TypeInfo ` ? + +----------+------------------------------------------------+ +dimSize +uint + +----------+------------------------------------------------+ +hash +uint64 + +----------+------------------------------------------------+ +argNames +string const? + +----------+------------------------------------------------+ +argCount +uint + +----------+------------------------------------------------+ +basicType + :ref:`rtti::Type ` + +----------+------------------------------------------------+ +firstType + :ref:`rtti::TypeInfo ` ? + +----------+------------------------------------------------+ +flags + :ref:`TypeInfoFlags ` + +----------+------------------------------------------------+ TypeInfo property operators are +----------+-----------------------------------------------------------+ +enumType + :ref:`rtti::EnumInfo ` ? + +----------+-----------------------------------------------------------+ +isRef +bool + +----------+-----------------------------------------------------------+ +isRefType +bool + +----------+-----------------------------------------------------------+ +isRefValue+bool + +----------+-----------------------------------------------------------+ +canCopy +bool + +----------+-----------------------------------------------------------+ +isPod +bool + +----------+-----------------------------------------------------------+ +isRawPod +bool + +----------+-----------------------------------------------------------+ +isConst +bool + +----------+-----------------------------------------------------------+ +isTemp +bool + +----------+-----------------------------------------------------------+ +isImplicit+bool + +----------+-----------------------------------------------------------+ +annotation+ :ref:`rtti::TypeAnnotation ` ?+ +----------+-----------------------------------------------------------+ +structType+ :ref:`rtti::StructInfo ` ? + +----------+-----------------------------------------------------------+ |structure_annotation-rtti-TypeInfo| .. _handle-rtti-VarInfo: .. das:attribute:: VarInfo VarInfo fields are +--------------------+---------------------------------------------------------------------------------+ +argTypes + :ref:`rtti::TypeInfo ` ?? + +--------------------+---------------------------------------------------------------------------------+ +size +uint + +--------------------+---------------------------------------------------------------------------------+ +value +any + +--------------------+---------------------------------------------------------------------------------+ +secondType + :ref:`rtti::TypeInfo ` ? + +--------------------+---------------------------------------------------------------------------------+ +dimSize +uint + +--------------------+---------------------------------------------------------------------------------+ +nextGcField +uint + +--------------------+---------------------------------------------------------------------------------+ +name +string const + +--------------------+---------------------------------------------------------------------------------+ +hash +uint64 + +--------------------+---------------------------------------------------------------------------------+ +argNames +string const? + +--------------------+---------------------------------------------------------------------------------+ +argCount +uint + +--------------------+---------------------------------------------------------------------------------+ +sValue +string + +--------------------+---------------------------------------------------------------------------------+ +offset +uint + +--------------------+---------------------------------------------------------------------------------+ +basicType + :ref:`rtti::Type ` + +--------------------+---------------------------------------------------------------------------------+ +annotation_arguments+ :ref:`rtti::AnnotationArguments ` const? const+ +--------------------+---------------------------------------------------------------------------------+ +firstType + :ref:`rtti::TypeInfo ` ? + +--------------------+---------------------------------------------------------------------------------+ +flags + :ref:`TypeInfoFlags ` + +--------------------+---------------------------------------------------------------------------------+ |structure_annotation-rtti-VarInfo| .. _handle-rtti-LocalVariableInfo: .. das:attribute:: LocalVariableInfo LocalVariableInfo fields are +----------+--------------------------------------------------------------+ +visibility+ :ref:`rtti::LineInfo ` + +----------+--------------------------------------------------------------+ +argTypes + :ref:`rtti::TypeInfo ` ?? + +----------+--------------------------------------------------------------+ +size +uint + +----------+--------------------------------------------------------------+ +secondType+ :ref:`rtti::TypeInfo ` ? + +----------+--------------------------------------------------------------+ +dimSize +uint + +----------+--------------------------------------------------------------+ +localFlags+ :ref:`LocalVariableInfoFlags ` + +----------+--------------------------------------------------------------+ +stackTop +uint + +----------+--------------------------------------------------------------+ +name +string const + +----------+--------------------------------------------------------------+ +hash +uint64 + +----------+--------------------------------------------------------------+ +argNames +string const? + +----------+--------------------------------------------------------------+ +argCount +uint + +----------+--------------------------------------------------------------+ +basicType + :ref:`rtti::Type ` + +----------+--------------------------------------------------------------+ +firstType + :ref:`rtti::TypeInfo ` ? + +----------+--------------------------------------------------------------+ +flags + :ref:`TypeInfoFlags ` + +----------+--------------------------------------------------------------+ |structure_annotation-rtti-LocalVariableInfo| .. _handle-rtti-FuncInfo: .. das:attribute:: FuncInfo FuncInfo fields are +-----------+------------------------------------------------------------------+ +locals + :ref:`rtti::LocalVariableInfo ` ??+ +-----------+------------------------------------------------------------------+ +stackSize +uint + +-----------+------------------------------------------------------------------+ +result + :ref:`rtti::TypeInfo ` ? + +-----------+------------------------------------------------------------------+ +count +uint + +-----------+------------------------------------------------------------------+ +globals + :ref:`rtti::VarInfo ` ?? + +-----------+------------------------------------------------------------------+ +cppName +string const + +-----------+------------------------------------------------------------------+ +name +string const + +-----------+------------------------------------------------------------------+ +globalCount+uint + +-----------+------------------------------------------------------------------+ +hash +uint64 + +-----------+------------------------------------------------------------------+ +localCount +uint + +-----------+------------------------------------------------------------------+ +flags +uint + +-----------+------------------------------------------------------------------+ |structure_annotation-rtti-FuncInfo| .. _handle-rtti-SimFunction: .. das:attribute:: SimFunction SimFunction fields are +---------------+--------------------------------------------------+ +stackSize +uint + +---------------+--------------------------------------------------+ +mangledNameHash+uint64 + +---------------+--------------------------------------------------+ +mangledName +string + +---------------+--------------------------------------------------+ +name +string + +---------------+--------------------------------------------------+ +debugInfo + :ref:`rtti::FuncInfo ` ? + +---------------+--------------------------------------------------+ +flags + :ref:`SimFunctionFlags ` + +---------------+--------------------------------------------------+ SimFunction property operators are +--------+-----------------------------------------------------------+ +lineInfo+ :ref:`rtti::LineInfo ` const? const+ +--------+-----------------------------------------------------------+ |structure_annotation-rtti-SimFunction| .. _handle-rtti-CodeOfPolicies: .. das:attribute:: CodeOfPolicies CodeOfPolicies fields are +----------------------------------+--------------------------------------------------------+ +aot_module +bool + +----------------------------------+--------------------------------------------------------+ +fail_on_no_aot +bool + +----------------------------------+--------------------------------------------------------+ +jit +bool + +----------------------------------+--------------------------------------------------------+ +report_invisible_functions +bool + +----------------------------------+--------------------------------------------------------+ +no_members_functions_in_struct +bool + +----------------------------------+--------------------------------------------------------+ +fail_on_lack_of_aot_export +bool + +----------------------------------+--------------------------------------------------------+ +profiler +bool + +----------------------------------+--------------------------------------------------------+ +debugger +bool + +----------------------------------+--------------------------------------------------------+ +aot_order_side_effects +bool + +----------------------------------+--------------------------------------------------------+ +threadlock_context +bool + +----------------------------------+--------------------------------------------------------+ +macro_context_collect +bool + +----------------------------------+--------------------------------------------------------+ +rtti +bool + +----------------------------------+--------------------------------------------------------+ +max_heap_allocated +uint64 + +----------------------------------+--------------------------------------------------------+ +ignore_shared_modules +bool + +----------------------------------+--------------------------------------------------------+ +no_deprecated +bool + +----------------------------------+--------------------------------------------------------+ +aot +bool + +----------------------------------+--------------------------------------------------------+ +allow_shared_lambda +bool + +----------------------------------+--------------------------------------------------------+ +max_static_variables_size +uint64 + +----------------------------------+--------------------------------------------------------+ +allow_local_variable_shadowing +bool + +----------------------------------+--------------------------------------------------------+ +multiple_contexts +bool + +----------------------------------+--------------------------------------------------------+ +heap_size_hint +uint + +----------------------------------+--------------------------------------------------------+ +profile_module + :ref:`builtin::das_string ` + +----------------------------------+--------------------------------------------------------+ +no_init +bool + +----------------------------------+--------------------------------------------------------+ +always_report_candidates_threshold+int + +----------------------------------+--------------------------------------------------------+ +persistent_heap +bool + +----------------------------------+--------------------------------------------------------+ +no_global_heap +bool + +----------------------------------+--------------------------------------------------------+ +intern_strings +bool + +----------------------------------+--------------------------------------------------------+ +no_optimizations +bool + +----------------------------------+--------------------------------------------------------+ +allow_block_variable_shadowing +bool + +----------------------------------+--------------------------------------------------------+ +no_unused_function_arguments +bool + +----------------------------------+--------------------------------------------------------+ +stack +uint + +----------------------------------+--------------------------------------------------------+ +smart_pointer_by_value_unsafe +bool + +----------------------------------+--------------------------------------------------------+ +no_unused_block_arguments +bool + +----------------------------------+--------------------------------------------------------+ +export_all +bool + +----------------------------------+--------------------------------------------------------+ +solid_context +bool + +----------------------------------+--------------------------------------------------------+ +max_string_heap_allocated +uint64 + +----------------------------------+--------------------------------------------------------+ +no_local_class_members +bool + +----------------------------------+--------------------------------------------------------+ +no_global_variables +bool + +----------------------------------+--------------------------------------------------------+ +completion +bool + +----------------------------------+--------------------------------------------------------+ +string_heap_size_hint +uint + +----------------------------------+--------------------------------------------------------+ +macro_context_persistent_heap +bool + +----------------------------------+--------------------------------------------------------+ +strict_properties +bool + +----------------------------------+--------------------------------------------------------+ +no_unsafe +bool + +----------------------------------+--------------------------------------------------------+ +jit_module + :ref:`builtin::das_string ` + +----------------------------------+--------------------------------------------------------+ +local_ref_is_unsafe +bool + +----------------------------------+--------------------------------------------------------+ +no_aliasing +bool + +----------------------------------+--------------------------------------------------------+ +report_private_functions +bool + +----------------------------------+--------------------------------------------------------+ +no_global_variables_at_all +bool + +----------------------------------+--------------------------------------------------------+ +strict_smart_pointers +bool + +----------------------------------+--------------------------------------------------------+ +no_fast_call +bool + +----------------------------------+--------------------------------------------------------+ +only_fast_aot +bool + +----------------------------------+--------------------------------------------------------+ +debug_module + :ref:`builtin::das_string ` + +----------------------------------+--------------------------------------------------------+ +strict_unsafe_delete +bool + +----------------------------------+--------------------------------------------------------+ +default_module_public +bool + +----------------------------------+--------------------------------------------------------+ |structure_annotation-rtti-CodeOfPolicies| +++++++++++++++ Typeinfo macros +++++++++++++++ .. _call-macro-rtti-rtti_typeinfo: .. das:attribute:: rtti_typeinfo |typeinfo_macro-rtti-rtti_typeinfo| +++++++++++++ Handled types +++++++++++++ .. _handle-rtti-recursive_mutex: .. das:attribute:: recursive_mutex |any_annotation-rtti-recursive_mutex| .. _handle-rtti-AnnotationArguments: .. das:attribute:: AnnotationArguments |any_annotation-rtti-AnnotationArguments| .. _handle-rtti-AnnotationArgumentList: .. das:attribute:: AnnotationArgumentList |any_annotation-rtti-AnnotationArgumentList| .. _handle-rtti-AnnotationList: .. das:attribute:: AnnotationList |any_annotation-rtti-AnnotationList| +++++++++++++++++++++++++++++++ Initialization and finalization +++++++++++++++++++++++++++++++ * :ref:`LineInfo () : rtti::LineInfo ` * :ref:`LineInfo (arg0:rtti::FileInfo? const implicit;arg1:int const;arg2:int const;arg3:int const;arg4:int const) : rtti::LineInfo ` * :ref:`using (arg0:block\<(var arg0:rtti::recursive_mutex explicit):void\> const implicit) : void ` * :ref:`CodeOfPolicies () : rtti::CodeOfPolicies ` * :ref:`using (arg0:block\<(var arg0:rtti::CodeOfPolicies explicit):void\> const implicit) : void ` * :ref:`using (arg0:block\<(var arg0:rtti::ModuleGroup explicit):void\> const implicit) : void ` * :ref:`RttiValue_nothing () : auto ` .. _function-_at_rtti_c__c_LineInfo: .. das:function:: LineInfo() LineInfo returns :ref:`rtti::LineInfo ` |function-rtti-LineInfo| .. _function-_at_rtti_c__c_LineInfo_CI1_ls_H_ls_rtti_c__c_FileInfo_gr__gr__qm__Ci_Ci_Ci_Ci: .. das:function:: LineInfo(arg0: FileInfo? const implicit; arg1: int const; arg2: int const; arg3: int const; arg4: int const) LineInfo returns :ref:`rtti::LineInfo ` +--------+--------------------------------------------------------------+ +argument+argument type + +========+==============================================================+ +arg0 + :ref:`rtti::FileInfo ` ? const implicit+ +--------+--------------------------------------------------------------+ +arg1 +int const + +--------+--------------------------------------------------------------+ +arg2 +int const + +--------+--------------------------------------------------------------+ +arg3 +int const + +--------+--------------------------------------------------------------+ +arg4 +int const + +--------+--------------------------------------------------------------+ |function-rtti-LineInfo| .. _function-_at_rtti_c__c_using_CI0_ls_XH_ls_rtti_c__c_recursive_mutex_gr__gr_1_ls_v_gr__builtin_: .. das:function:: using(arg0: block<(var arg0:recursive_mutex):void> const implicit) +--------+-----------------------------------------------------------------------------------------+ +argument+argument type + +========+=========================================================================================+ +arg0 +block<( :ref:`rtti::recursive_mutex ` ):void> const implicit+ +--------+-----------------------------------------------------------------------------------------+ |function-rtti-using| .. _function-_at_rtti_c__c_CodeOfPolicies: .. das:function:: CodeOfPolicies() CodeOfPolicies returns :ref:`rtti::CodeOfPolicies ` |function-rtti-CodeOfPolicies| .. _function-_at_rtti_c__c_using_CI0_ls_XH_ls_rtti_c__c_CodeOfPolicies_gr__gr_1_ls_v_gr__builtin_: .. das:function:: using(arg0: block<(var arg0:CodeOfPolicies):void> const implicit) +--------+---------------------------------------------------------------------------------------+ +argument+argument type + +========+=======================================================================================+ +arg0 +block<( :ref:`rtti::CodeOfPolicies ` ):void> const implicit+ +--------+---------------------------------------------------------------------------------------+ |function-rtti-using| .. _function-_at_rtti_c__c_using_CI0_ls_XH_ls_rtti_c__c_ModuleGroup_gr__gr_1_ls_v_gr__builtin_: .. das:function:: using(arg0: block<(var arg0:ModuleGroup):void> const implicit) +--------+---------------------------------------------------------------------------------+ +argument+argument type + +========+=================================================================================+ +arg0 +block<( :ref:`rtti::ModuleGroup ` ):void> const implicit+ +--------+---------------------------------------------------------------------------------+ |function-rtti-using| .. _function-_at_rtti_c__c_RttiValue_nothing: .. das:function:: RttiValue_nothing() RttiValue_nothing returns auto |function-rtti-RttiValue_nothing| +++++++++++ Type access +++++++++++ * :ref:`get_dim (typeinfo:rtti::TypeInfo const implicit;index:int const;context:__context const;at:__lineInfo const) : int ` * :ref:`get_dim (typeinfo:rtti::VarInfo const implicit;index:int const;context:__context const;at:__lineInfo const) : int ` * :ref:`builtin_is_same_type (a:rtti::TypeInfo const? const implicit;b:rtti::TypeInfo const? const implicit;refMatters:rtti::RefMatters const;cosntMatters:rtti::ConstMatters const;tempMatters:rtti::TemporaryMatters const;topLevel:bool const) : bool ` * :ref:`get_type_size (type:rtti::TypeInfo? const implicit) : int ` * :ref:`get_type_align (type:rtti::TypeInfo? const implicit) : int ` * :ref:`is_compatible_cast (from:rtti::StructInfo const? const implicit;to:rtti::StructInfo const? const implicit) : bool ` * :ref:`get_das_type_name (type:rtti::Type const;context:__context const;at:__lineInfo const) : string ` * :ref:`is_same_type (a:rtti::TypeInfo const;b:rtti::TypeInfo const;refMatters:rtti::RefMatters const;constMatters:rtti::ConstMatters const;temporaryMatters:rtti::TemporaryMatters const;topLevel:bool const) : auto ` * :ref:`is_compatible_cast (a:rtti::StructInfo const;b:rtti::StructInfo const) : auto ` * :ref:`each_dim (info:rtti::TypeInfo const) : auto ` * :ref:`each_dim (info:rtti::VarInfo const) : auto ` * :ref:`arg_types (info:rtti::TypeInfo const) : auto ` * :ref:`arg_types (info:rtti::VarInfo const) : auto ` * :ref:`arg_names (info:rtti::TypeInfo const) : auto ` * :ref:`arg_names (info:rtti::VarInfo const) : auto ` .. _function-_at_rtti_c__c_get_dim_CIH_ls_rtti_c__c_TypeInfo_gr__Ci_C_c_C_l: .. das:function:: get_dim(typeinfo: TypeInfo const implicit; index: int const) get_dim returns int +--------+-------------------------------------------------------------+ +argument+argument type + +========+=============================================================+ +typeinfo+ :ref:`rtti::TypeInfo ` const implicit+ +--------+-------------------------------------------------------------+ +index +int const + +--------+-------------------------------------------------------------+ |function-rtti-get_dim| .. _function-_at_rtti_c__c_get_dim_CIH_ls_rtti_c__c_VarInfo_gr__Ci_C_c_C_l: .. das:function:: get_dim(typeinfo: VarInfo const implicit; index: int const) get_dim returns int +--------+-----------------------------------------------------------+ +argument+argument type + +========+===========================================================+ +typeinfo+ :ref:`rtti::VarInfo ` const implicit+ +--------+-----------------------------------------------------------+ +index +int const + +--------+-----------------------------------------------------------+ |function-rtti-get_dim| .. _function-_at_rtti_c__c_builtin_is_same_type_CI1_ls_CH_ls_rtti_c__c_TypeInfo_gr__gr__qm__CI1_ls_CH_ls_rtti_c__c_TypeInfo_gr__gr__qm__CE_ls_rtti_c__c_RefMatters_gr__CE_ls_rtti_c__c_ConstMatters_gr__CE_ls_rtti_c__c_TemporaryMatters_gr__Cb: .. das:function:: builtin_is_same_type(a: TypeInfo const? const implicit; b: TypeInfo const? const implicit; refMatters: RefMatters const; cosntMatters: ConstMatters const; tempMatters: TemporaryMatters const; topLevel: bool const) builtin_is_same_type returns bool +------------+--------------------------------------------------------------------+ +argument +argument type + +============+====================================================================+ +a + :ref:`rtti::TypeInfo ` const? const implicit+ +------------+--------------------------------------------------------------------+ +b + :ref:`rtti::TypeInfo ` const? const implicit+ +------------+--------------------------------------------------------------------+ +refMatters + :ref:`rtti::RefMatters ` const + +------------+--------------------------------------------------------------------+ +cosntMatters+ :ref:`rtti::ConstMatters ` const + +------------+--------------------------------------------------------------------+ +tempMatters + :ref:`rtti::TemporaryMatters ` const + +------------+--------------------------------------------------------------------+ +topLevel +bool const + +------------+--------------------------------------------------------------------+ |function-rtti-builtin_is_same_type| .. _function-_at_rtti_c__c_get_type_size_CI1_ls_H_ls_rtti_c__c_TypeInfo_gr__gr__qm_: .. das:function:: get_type_size(type: TypeInfo? const implicit) get_type_size returns int +--------+--------------------------------------------------------------+ +argument+argument type + +========+==============================================================+ +type + :ref:`rtti::TypeInfo ` ? const implicit+ +--------+--------------------------------------------------------------+ |function-rtti-get_type_size| .. _function-_at_rtti_c__c_get_type_align_CI1_ls_H_ls_rtti_c__c_TypeInfo_gr__gr__qm_: .. das:function:: get_type_align(type: TypeInfo? const implicit) get_type_align returns int +--------+--------------------------------------------------------------+ +argument+argument type + +========+==============================================================+ +type + :ref:`rtti::TypeInfo ` ? const implicit+ +--------+--------------------------------------------------------------+ |function-rtti-get_type_align| .. _function-_at_rtti_c__c_is_compatible_cast_CI1_ls_CH_ls_rtti_c__c_StructInfo_gr__gr__qm__CI1_ls_CH_ls_rtti_c__c_StructInfo_gr__gr__qm_: .. das:function:: is_compatible_cast(from: StructInfo const? const implicit; to: StructInfo const? const implicit) is_compatible_cast returns bool +--------+------------------------------------------------------------------------+ +argument+argument type + +========+========================================================================+ +from + :ref:`rtti::StructInfo ` const? const implicit+ +--------+------------------------------------------------------------------------+ +to + :ref:`rtti::StructInfo ` const? const implicit+ +--------+------------------------------------------------------------------------+ |function-rtti-is_compatible_cast| .. _function-_at_rtti_c__c_get_das_type_name_CE_ls_rtti_c__c_Type_gr__C_c_C_l: .. das:function:: get_das_type_name(type: Type const) get_das_type_name returns string +--------+------------------------------------------+ +argument+argument type + +========+==========================================+ +type + :ref:`rtti::Type ` const+ +--------+------------------------------------------+ |function-rtti-get_das_type_name| .. _function-_at_rtti_c__c_is_same_type_CH_ls_rtti_c__c_TypeInfo_gr__CH_ls_rtti_c__c_TypeInfo_gr__CE_ls_rtti_c__c_RefMatters_gr__CE_ls_rtti_c__c_ConstMatters_gr__CE_ls_rtti_c__c_TemporaryMatters_gr__Cb: .. das:function:: is_same_type(a: TypeInfo const; b: TypeInfo const; refMatters: RefMatters const; constMatters: ConstMatters const; temporaryMatters: TemporaryMatters const; topLevel: bool const) is_same_type returns auto +----------------+------------------------------------------------------------------+ +argument +argument type + +================+==================================================================+ +a + :ref:`rtti::TypeInfo ` const + +----------------+------------------------------------------------------------------+ +b + :ref:`rtti::TypeInfo ` const + +----------------+------------------------------------------------------------------+ +refMatters + :ref:`rtti::RefMatters ` const + +----------------+------------------------------------------------------------------+ +constMatters + :ref:`rtti::ConstMatters ` const + +----------------+------------------------------------------------------------------+ +temporaryMatters+ :ref:`rtti::TemporaryMatters ` const+ +----------------+------------------------------------------------------------------+ +topLevel +bool const + +----------------+------------------------------------------------------------------+ |function-rtti-is_same_type| .. _function-_at_rtti_c__c_is_compatible_cast_CH_ls_rtti_c__c_StructInfo_gr__CH_ls_rtti_c__c_StructInfo_gr_: .. das:function:: is_compatible_cast(a: StructInfo const; b: StructInfo const) is_compatible_cast returns auto +--------+--------------------------------------------------------+ +argument+argument type + +========+========================================================+ +a + :ref:`rtti::StructInfo ` const+ +--------+--------------------------------------------------------+ +b + :ref:`rtti::StructInfo ` const+ +--------+--------------------------------------------------------+ |function-rtti-is_compatible_cast| .. _function-_at_rtti_c__c_each_dim_CH_ls_rtti_c__c_TypeInfo_gr_: .. das:function:: each_dim(info: TypeInfo const) each_dim returns auto +--------+----------------------------------------------------+ +argument+argument type + +========+====================================================+ +info + :ref:`rtti::TypeInfo ` const+ +--------+----------------------------------------------------+ |function-rtti-each_dim| .. _function-_at_rtti_c__c_each_dim_CH_ls_rtti_c__c_VarInfo_gr_: .. das:function:: each_dim(info: VarInfo const) each_dim returns auto +--------+--------------------------------------------------+ +argument+argument type + +========+==================================================+ +info + :ref:`rtti::VarInfo ` const+ +--------+--------------------------------------------------+ |function-rtti-each_dim| .. _function-_at_rtti_c__c_arg_types_CH_ls_rtti_c__c_TypeInfo_gr_: .. das:function:: arg_types(info: TypeInfo const) arg_types returns auto +--------+----------------------------------------------------+ +argument+argument type + +========+====================================================+ +info + :ref:`rtti::TypeInfo ` const+ +--------+----------------------------------------------------+ |function-rtti-arg_types| .. _function-_at_rtti_c__c_arg_types_CH_ls_rtti_c__c_VarInfo_gr_: .. das:function:: arg_types(info: VarInfo const) arg_types returns auto +--------+--------------------------------------------------+ +argument+argument type + +========+==================================================+ +info + :ref:`rtti::VarInfo ` const+ +--------+--------------------------------------------------+ |function-rtti-arg_types| .. _function-_at_rtti_c__c_arg_names_CH_ls_rtti_c__c_TypeInfo_gr_: .. das:function:: arg_names(info: TypeInfo const) arg_names returns auto +--------+----------------------------------------------------+ +argument+argument type + +========+====================================================+ +info + :ref:`rtti::TypeInfo ` const+ +--------+----------------------------------------------------+ |function-rtti-arg_names| .. _function-_at_rtti_c__c_arg_names_CH_ls_rtti_c__c_VarInfo_gr_: .. das:function:: arg_names(info: VarInfo const) arg_names returns auto +--------+--------------------------------------------------+ +argument+argument type + +========+==================================================+ +info + :ref:`rtti::VarInfo ` const+ +--------+--------------------------------------------------+ |function-rtti-arg_names| +++++++++++++++++++ Rtti context access +++++++++++++++++++ * :ref:`get_total_functions (context:rtti::Context implicit) : int ` * :ref:`get_total_variables (context:rtti::Context implicit) : int ` * :ref:`get_function_info (context:any;index:int const) : rtti::FuncInfo const& ` * :ref:`get_variable_info (context:any;index:int const) : rtti::VarInfo const& ` * :ref:`get_variable_value (varInfo:rtti::VarInfo const implicit) : variant\ ` * :ref:`get_function_info (context:rtti::Context implicit;function:function\<\> const) : rtti::FuncInfo const? const ` * :ref:`get_function_by_mnh (context:rtti::Context implicit;MNH:uint64 const) : function\<\> ` * :ref:`get_line_info (line:__lineInfo const) : rtti::LineInfo ` * :ref:`get_line_info (depth:int const;context:__context const;line:__lineInfo const) : rtti::LineInfo ` * :ref:`this_context (context:__context const) : rtti::Context& ` * :ref:`context_for_each_function (blk:block\<(info:rtti::FuncInfo const):void\> const) : auto ` * :ref:`context_for_each_variable (blk:block\<(info:rtti::VarInfo const):void\> const) : auto ` * :ref:`class_info (cl:auto const) : rtti::StructInfo const? ` * :ref:`type_info (vinfo:rtti::LocalVariableInfo const) : rtti::TypeInfo const? ` * :ref:`type_info (vinfo:rtti::VarInfo const) : rtti::TypeInfo const? ` .. _function-_at_rtti_c__c_get_total_functions_IH_ls_rtti_c__c_Context_gr_: .. das:function:: get_total_functions(context: Context implicit) get_total_functions returns int +--------+-----------------------------------------------------+ +argument+argument type + +========+=====================================================+ +context + :ref:`rtti::Context ` implicit+ +--------+-----------------------------------------------------+ |function-rtti-get_total_functions| .. _function-_at_rtti_c__c_get_total_variables_IH_ls_rtti_c__c_Context_gr_: .. das:function:: get_total_variables(context: Context implicit) get_total_variables returns int +--------+-----------------------------------------------------+ +argument+argument type + +========+=====================================================+ +context + :ref:`rtti::Context ` implicit+ +--------+-----------------------------------------------------+ |function-rtti-get_total_variables| .. _function-_at_rtti_c__c_get_function_info_*_Ci: .. das:function:: get_function_info(context: any; index: int const) get_function_info returns :ref:`rtti::FuncInfo ` const& +--------+-------------+ +argument+argument type+ +========+=============+ +context +any + +--------+-------------+ +index +int const + +--------+-------------+ |function-rtti-get_function_info| .. _function-_at_rtti_c__c_get_variable_info_*_Ci: .. das:function:: get_variable_info(context: any; index: int const) get_variable_info returns :ref:`rtti::VarInfo ` const& +--------+-------------+ +argument+argument type+ +========+=============+ +context +any + +--------+-------------+ +index +int const + +--------+-------------+ |function-rtti-get_variable_info| .. _function-_at_rtti_c__c_get_variable_value_CIH_ls_rtti_c__c_VarInfo_gr_: .. das:function:: get_variable_value(varInfo: VarInfo const implicit) get_variable_value returns :ref:`RttiValue ` +--------+-----------------------------------------------------------+ +argument+argument type + +========+===========================================================+ +varInfo + :ref:`rtti::VarInfo ` const implicit+ +--------+-----------------------------------------------------------+ |function-rtti-get_variable_value| .. _function-_at_rtti_c__c_get_function_info_IH_ls_rtti_c__c_Context_gr__C_at__at_: .. das:function:: get_function_info(context: Context implicit; function: function<> const) get_function_info returns :ref:`rtti::FuncInfo ` const? const +--------+-----------------------------------------------------+ +argument+argument type + +========+=====================================================+ +context + :ref:`rtti::Context ` implicit+ +--------+-----------------------------------------------------+ +function+function<> const + +--------+-----------------------------------------------------+ |function-rtti-get_function_info| .. _function-_at_rtti_c__c_get_function_by_mnh_IH_ls_rtti_c__c_Context_gr__Cu64: .. das:function:: get_function_by_mnh(context: Context implicit; MNH: uint64 const) get_function_by_mnh returns function<> +--------+-----------------------------------------------------+ +argument+argument type + +========+=====================================================+ +context + :ref:`rtti::Context ` implicit+ +--------+-----------------------------------------------------+ +MNH +uint64 const + +--------+-----------------------------------------------------+ |function-rtti-get_function_by_mnh| .. _function-_at_rtti_c__c_get_line_info_C_l: .. das:function:: get_line_info() get_line_info returns :ref:`rtti::LineInfo ` |function-rtti-get_line_info| .. _function-_at_rtti_c__c_get_line_info_Ci_C_c_C_l: .. das:function:: get_line_info(depth: int const) get_line_info returns :ref:`rtti::LineInfo ` +--------+-------------+ +argument+argument type+ +========+=============+ +depth +int const + +--------+-------------+ |function-rtti-get_line_info| .. _function-_at_rtti_c__c_this_context_C_c: .. das:function:: this_context() this_context returns :ref:`rtti::Context ` & |function-rtti-this_context| .. _function-_at_rtti_c__c_context_for_each_function_CN_ls_info_gr_0_ls_CH_ls_rtti_c__c_FuncInfo_gr__gr_1_ls_v_gr__builtin_: .. das:function:: context_for_each_function(blk: block<(info:FuncInfo const):void> const) context_for_each_function returns auto +--------+-----------------------------------------------------------------------------+ +argument+argument type + +========+=============================================================================+ +blk +block<(info: :ref:`rtti::FuncInfo ` const):void> const+ +--------+-----------------------------------------------------------------------------+ |function-rtti-context_for_each_function| .. _function-_at_rtti_c__c_context_for_each_variable_CN_ls_info_gr_0_ls_CH_ls_rtti_c__c_VarInfo_gr__gr_1_ls_v_gr__builtin_: .. das:function:: context_for_each_variable(blk: block<(info:VarInfo const):void> const) context_for_each_variable returns auto +--------+---------------------------------------------------------------------------+ +argument+argument type + +========+===========================================================================+ +blk +block<(info: :ref:`rtti::VarInfo ` const):void> const+ +--------+---------------------------------------------------------------------------+ |function-rtti-context_for_each_variable| .. _function-_at_rtti_c__c_class_info_C.: .. das:function:: class_info(cl: auto const) class_info returns :ref:`rtti::StructInfo ` const? +--------+-------------+ +argument+argument type+ +========+=============+ +cl +auto const + +--------+-------------+ |function-rtti-class_info| .. _function-_at_rtti_c__c_type_info_CH_ls_rtti_c__c_LocalVariableInfo_gr_: .. das:function:: type_info(vinfo: LocalVariableInfo const) type_info returns :ref:`rtti::TypeInfo ` const? +--------+----------------------------------------------------------------------+ +argument+argument type + +========+======================================================================+ +vinfo + :ref:`rtti::LocalVariableInfo ` const+ +--------+----------------------------------------------------------------------+ |function-rtti-type_info| .. _function-_at_rtti_c__c_type_info_CH_ls_rtti_c__c_VarInfo_gr_: .. das:function:: type_info(vinfo: VarInfo const) type_info returns :ref:`rtti::TypeInfo ` const? +--------+--------------------------------------------------+ +argument+argument type + +========+==================================================+ +vinfo + :ref:`rtti::VarInfo ` const+ +--------+--------------------------------------------------+ |function-rtti-type_info| ++++++++++++++ Program access ++++++++++++++ * :ref:`get_this_module (program:smart_ptr\ const implicit) : rtti::Module? ` * :ref:`get_module (name:string const implicit) : rtti::Module? ` * :ref:`program_for_each_module (program:smart_ptr\ const implicit;block:block\<(var arg0:rtti::Module?):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`program_for_each_registered_module (block:block\<(var arg0:rtti::Module?):void\> const implicit;context:__context const;line:__lineInfo const) : void ` .. _function-_at_rtti_c__c_get_this_module_CI1_ls_H_ls_rtti_c__c_Program_gr__gr__qm_M: .. das:function:: get_this_module(program: smart_ptr const implicit) get_this_module returns :ref:`rtti::Module ` ? +--------+----------------------------------------------------------------------+ +argument+argument type + +========+======================================================================+ +program +smart_ptr< :ref:`rtti::Program ` > const implicit+ +--------+----------------------------------------------------------------------+ |function-rtti-get_this_module| .. _function-_at_rtti_c__c_get_module_CIs: .. das:function:: get_module(name: string const implicit) get_module returns :ref:`rtti::Module ` ? +--------+---------------------+ +argument+argument type + +========+=====================+ +name +string const implicit+ +--------+---------------------+ |function-rtti-get_module| .. _function-_at_rtti_c__c_program_for_each_module_CI1_ls_H_ls_rtti_c__c_Program_gr__gr__qm_M_CI0_ls_1_ls_H_ls_rtti_c__c_Module_gr__gr__qm__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: program_for_each_module(program: smart_ptr const implicit; block: block<(var arg0:Module?):void> const implicit) +--------+------------------------------------------------------------------------+ +argument+argument type + +========+========================================================================+ +program +smart_ptr< :ref:`rtti::Program ` > const implicit + +--------+------------------------------------------------------------------------+ +block +block<( :ref:`rtti::Module ` ?):void> const implicit+ +--------+------------------------------------------------------------------------+ |function-rtti-program_for_each_module| .. _function-_at_rtti_c__c_program_for_each_registered_module_CI0_ls_1_ls_H_ls_rtti_c__c_Module_gr__gr__qm__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: program_for_each_registered_module(block: block<(var arg0:Module?):void> const implicit) +--------+------------------------------------------------------------------------+ +argument+argument type + +========+========================================================================+ +block +block<( :ref:`rtti::Module ` ?):void> const implicit+ +--------+------------------------------------------------------------------------+ |function-rtti-program_for_each_registered_module| +++++++++++++ Module access +++++++++++++ * :ref:`module_for_each_structure (module:rtti::Module? const implicit;block:block\<(arg0:rtti::StructInfo const):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`module_for_each_enumeration (module:rtti::Module? const implicit;block:block\<(arg0:rtti::EnumInfo const):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`module_for_each_function (module:rtti::Module? const implicit;block:block\<(arg0:rtti::FuncInfo const):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`module_for_each_generic (module:rtti::Module? const implicit;block:block\<(arg0:rtti::FuncInfo const):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`module_for_each_global (module:rtti::Module? const implicit;block:block\<(arg0:rtti::VarInfo const):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`module_for_each_annotation (module:rtti::Module? const implicit;block:block\<(arg0:rtti::Annotation const):void\> const implicit;context:__context const;line:__lineInfo const) : void ` .. _function-_at_rtti_c__c_module_for_each_structure_CI1_ls_H_ls_rtti_c__c_Module_gr__gr__qm__CI0_ls_CH_ls_rtti_c__c_StructInfo_gr__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: module_for_each_structure(module: Module? const implicit; block: block<(arg0:StructInfo const):void> const implicit) +--------+-------------------------------------------------------------------------------------+ +argument+argument type + +========+=====================================================================================+ +module + :ref:`rtti::Module ` ? const implicit + +--------+-------------------------------------------------------------------------------------+ +block +block<( :ref:`rtti::StructInfo ` const):void> const implicit+ +--------+-------------------------------------------------------------------------------------+ |function-rtti-module_for_each_structure| .. _function-_at_rtti_c__c_module_for_each_enumeration_CI1_ls_H_ls_rtti_c__c_Module_gr__gr__qm__CI0_ls_CH_ls_rtti_c__c_EnumInfo_gr__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: module_for_each_enumeration(module: Module? const implicit; block: block<(arg0:EnumInfo const):void> const implicit) +--------+---------------------------------------------------------------------------------+ +argument+argument type + +========+=================================================================================+ +module + :ref:`rtti::Module ` ? const implicit + +--------+---------------------------------------------------------------------------------+ +block +block<( :ref:`rtti::EnumInfo ` const):void> const implicit+ +--------+---------------------------------------------------------------------------------+ |function-rtti-module_for_each_enumeration| .. _function-_at_rtti_c__c_module_for_each_function_CI1_ls_H_ls_rtti_c__c_Module_gr__gr__qm__CI0_ls_CH_ls_rtti_c__c_FuncInfo_gr__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: module_for_each_function(module: Module? const implicit; block: block<(arg0:FuncInfo const):void> const implicit) +--------+---------------------------------------------------------------------------------+ +argument+argument type + +========+=================================================================================+ +module + :ref:`rtti::Module ` ? const implicit + +--------+---------------------------------------------------------------------------------+ +block +block<( :ref:`rtti::FuncInfo ` const):void> const implicit+ +--------+---------------------------------------------------------------------------------+ |function-rtti-module_for_each_function| .. _function-_at_rtti_c__c_module_for_each_generic_CI1_ls_H_ls_rtti_c__c_Module_gr__gr__qm__CI0_ls_CH_ls_rtti_c__c_FuncInfo_gr__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: module_for_each_generic(module: Module? const implicit; block: block<(arg0:FuncInfo const):void> const implicit) +--------+---------------------------------------------------------------------------------+ +argument+argument type + +========+=================================================================================+ +module + :ref:`rtti::Module ` ? const implicit + +--------+---------------------------------------------------------------------------------+ +block +block<( :ref:`rtti::FuncInfo ` const):void> const implicit+ +--------+---------------------------------------------------------------------------------+ |function-rtti-module_for_each_generic| .. _function-_at_rtti_c__c_module_for_each_global_CI1_ls_H_ls_rtti_c__c_Module_gr__gr__qm__CI0_ls_CH_ls_rtti_c__c_VarInfo_gr__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: module_for_each_global(module: Module? const implicit; block: block<(arg0:VarInfo const):void> const implicit) +--------+-------------------------------------------------------------------------------+ +argument+argument type + +========+===============================================================================+ +module + :ref:`rtti::Module ` ? const implicit + +--------+-------------------------------------------------------------------------------+ +block +block<( :ref:`rtti::VarInfo ` const):void> const implicit+ +--------+-------------------------------------------------------------------------------+ |function-rtti-module_for_each_global| .. _function-_at_rtti_c__c_module_for_each_annotation_CI1_ls_H_ls_rtti_c__c_Module_gr__gr__qm__CI0_ls_CH_ls_rtti_c__c_Annotation_gr__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: module_for_each_annotation(module: Module? const implicit; block: block<(arg0:Annotation const):void> const implicit) +--------+-------------------------------------------------------------------------------------+ +argument+argument type + +========+=====================================================================================+ +module + :ref:`rtti::Module ` ? const implicit + +--------+-------------------------------------------------------------------------------------+ +block +block<( :ref:`rtti::Annotation ` const):void> const implicit+ +--------+-------------------------------------------------------------------------------------+ |function-rtti-module_for_each_annotation| +++++++++++++++++ Annotation access +++++++++++++++++ * :ref:`get_annotation_argument_value (info:rtti::AnnotationArgument const implicit;context:__context const;at:__lineInfo const) : variant\ ` * :ref:`add_annotation_argument (annotation:rtti::AnnotationArgumentList implicit;name:string const implicit) : int ` .. _function-_at_rtti_c__c_get_annotation_argument_value_CIH_ls_rtti_c__c_AnnotationArgument_gr__C_c_C_l: .. das:function:: get_annotation_argument_value(info: AnnotationArgument const implicit) get_annotation_argument_value returns :ref:`RttiValue ` +--------+---------------------------------------------------------------------------------+ +argument+argument type + +========+=================================================================================+ +info + :ref:`rtti::AnnotationArgument ` const implicit+ +--------+---------------------------------------------------------------------------------+ |function-rtti-get_annotation_argument_value| .. _function-_at_rtti_c__c_add_annotation_argument_IH_ls_rtti_c__c_AnnotationArgumentList_gr__CIs: .. das:function:: add_annotation_argument(annotation: AnnotationArgumentList implicit; name: string const implicit) add_annotation_argument returns int +----------+-----------------------------------------------------------------------------------+ +argument +argument type + +==========+===================================================================================+ +annotation+ :ref:`rtti::AnnotationArgumentList ` implicit+ +----------+-----------------------------------------------------------------------------------+ +name +string const implicit + +----------+-----------------------------------------------------------------------------------+ |function-rtti-add_annotation_argument| ++++++++++++++++++++++++++ Compilation and simulation ++++++++++++++++++++++++++ * :ref:`compile (module_name:string const implicit;codeText:string const implicit;codeOfPolicies:rtti::CodeOfPolicies const implicit;block:block\<(var arg0:bool;var arg1:smart_ptr\;arg2:$::das_string const):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`compile (module_name:string const implicit;codeText:string const implicit;codeOfPolicies:rtti::CodeOfPolicies const implicit;exportAll:bool const;block:block\<(var arg0:bool;var arg1:smart_ptr\;arg2:$::das_string const):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`compile_file (module_name:string const implicit;fileAccess:smart_ptr\ const implicit;moduleGroup:rtti::ModuleGroup? const implicit;codeOfPolicies:rtti::CodeOfPolicies const implicit;block:block\<(var arg0:bool;var arg1:smart_ptr\;arg2:$::das_string const):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`for_each_expected_error (program:smart_ptr\ const implicit;block:block\<(var arg0:rtti::CompilationError;var arg1:int):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`for_each_require_declaration (program:smart_ptr\ const implicit;block:block\<(var arg0:rtti::Module?;arg1:string const#;arg2:string const#;var arg3:bool;arg4:rtti::LineInfo const&):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`simulate (program:smart_ptr\ const& implicit;block:block\<(var arg0:bool;var arg1:smart_ptr\;var arg2:$::das_string):void\> const implicit;context:__context const;line:__lineInfo const) : void ` .. _function-_at_rtti_c__c_compile_CIs_CIs_CIH_ls_rtti_c__c_CodeOfPolicies_gr__CI0_ls_b;1_ls_H_ls_rtti_c__c_Program_gr__gr__qm_W;CH_ls__builtin__c__c_das_string_gr__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: compile(module_name: string const implicit; codeText: string const implicit; codeOfPolicies: CodeOfPolicies const implicit; block: block<(var arg0:bool;var arg1:smart_ptr;arg2:das_string const):void> const implicit) +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +argument +argument type + +==============+========================================================================================================================================================+ +module_name +string const implicit + +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +codeText +string const implicit + +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +codeOfPolicies+ :ref:`rtti::CodeOfPolicies ` const implicit + +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +block +block<(bool;smart_ptr< :ref:`rtti::Program ` >; :ref:`builtin::das_string ` const):void> const implicit+ +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ |function-rtti-compile| .. _function-_at_rtti_c__c_compile_CIs_CIs_CIH_ls_rtti_c__c_CodeOfPolicies_gr__Cb_CI0_ls_b;1_ls_H_ls_rtti_c__c_Program_gr__gr__qm_W;CH_ls__builtin__c__c_das_string_gr__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: compile(module_name: string const implicit; codeText: string const implicit; codeOfPolicies: CodeOfPolicies const implicit; exportAll: bool const; block: block<(var arg0:bool;var arg1:smart_ptr;arg2:das_string const):void> const implicit) +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +argument +argument type + +==============+========================================================================================================================================================+ +module_name +string const implicit + +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +codeText +string const implicit + +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +codeOfPolicies+ :ref:`rtti::CodeOfPolicies ` const implicit + +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +exportAll +bool const + +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +block +block<(bool;smart_ptr< :ref:`rtti::Program ` >; :ref:`builtin::das_string ` const):void> const implicit+ +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ |function-rtti-compile| .. _function-_at_rtti_c__c_compile_file_CIs_CI1_ls_H_ls_rtti_c__c_FileAccess_gr__gr__qm_W_CI1_ls_H_ls_rtti_c__c_ModuleGroup_gr__gr__qm__CIH_ls_rtti_c__c_CodeOfPolicies_gr__CI0_ls_b;1_ls_H_ls_rtti_c__c_Program_gr__gr__qm_W;CH_ls__builtin__c__c_das_string_gr__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: compile_file(module_name: string const implicit; fileAccess: smart_ptr const implicit; moduleGroup: ModuleGroup? const implicit; codeOfPolicies: CodeOfPolicies const implicit; block: block<(var arg0:bool;var arg1:smart_ptr;arg2:das_string const):void> const implicit) +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +argument +argument type + +==============+========================================================================================================================================================+ +module_name +string const implicit + +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +fileAccess +smart_ptr< :ref:`rtti::FileAccess ` > const implicit + +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +moduleGroup + :ref:`rtti::ModuleGroup ` ? const implicit + +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +codeOfPolicies+ :ref:`rtti::CodeOfPolicies ` const implicit + +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +block +block<(bool;smart_ptr< :ref:`rtti::Program ` >; :ref:`builtin::das_string ` const):void> const implicit+ +--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ |function-rtti-compile_file| .. _function-_at_rtti_c__c_for_each_expected_error_CI1_ls_H_ls_rtti_c__c_Program_gr__gr__qm_W_CI0_ls_E_ls_rtti_c__c_CompilationError_gr_;i_gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: for_each_expected_error(program: smart_ptr const implicit; block: block<(var arg0:CompilationError;var arg1:int):void> const implicit) +--------+---------------------------------------------------------------------------------------------+ +argument+argument type + +========+=============================================================================================+ +program +smart_ptr< :ref:`rtti::Program ` > const implicit + +--------+---------------------------------------------------------------------------------------------+ +block +block<( :ref:`rtti::CompilationError ` ;int):void> const implicit+ +--------+---------------------------------------------------------------------------------------------+ |function-rtti-for_each_expected_error| .. _function-_at_rtti_c__c_for_each_require_declaration_CI1_ls_H_ls_rtti_c__c_Program_gr__gr__qm_W_CI0_ls_1_ls_H_ls_rtti_c__c_Module_gr__gr__qm_;C_hh_s;C_hh_s;b;C&H_ls_rtti_c__c_LineInfo_gr__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: for_each_require_declaration(program: smart_ptr const implicit; block: block<(var arg0:Module?;arg1:string const#;arg2:string const#;var arg3:bool;arg4:LineInfo const&):void> const implicit) +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ +argument+argument type + +========+===============================================================================================================================================================+ +program +smart_ptr< :ref:`rtti::Program ` > const implicit + +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ +block +block<( :ref:`rtti::Module ` ?;string const#;string const#;bool; :ref:`rtti::LineInfo ` const&):void> const implicit+ +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ |function-rtti-for_each_require_declaration| .. _function-_at_rtti_c__c_simulate_C&I1_ls_H_ls_rtti_c__c_Program_gr__gr__qm_W_CI0_ls_b;1_ls_H_ls_rtti_c__c_Context_gr__gr__qm_W;H_ls__builtin__c__c_das_string_gr__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: simulate(program: smart_ptr const& implicit; block: block<(var arg0:bool;var arg1:smart_ptr;var arg2:das_string):void> const implicit) +--------+--------------------------------------------------------------------------------------------------------------------------------------------------+ +argument+argument type + +========+==================================================================================================================================================+ +program +smart_ptr< :ref:`rtti::Program ` > const& implicit + +--------+--------------------------------------------------------------------------------------------------------------------------------------------------+ +block +block<(bool;smart_ptr< :ref:`rtti::Context ` >; :ref:`builtin::das_string ` ):void> const implicit+ +--------+--------------------------------------------------------------------------------------------------------------------------------------------------+ |function-rtti-simulate| +++++++++++ File access +++++++++++ * :ref:`make_file_access (project:string const implicit;context:__context const;at:__lineInfo const) : smart_ptr\ ` * :ref:`set_file_source (access:smart_ptr\ const implicit;fileName:string const implicit;text:string const implicit;context:__context const;line:__lineInfo const) : bool ` * :ref:`add_file_access_root (access:smart_ptr\ const implicit;mod:string const implicit;path:string const implicit) : bool ` .. _function-_at_rtti_c__c_make_file_access_CIs_C_c_C_l: .. das:function:: make_file_access(project: string const implicit) make_file_access returns smart_ptr< :ref:`rtti::FileAccess ` > +--------+---------------------+ +argument+argument type + +========+=====================+ +project +string const implicit+ +--------+---------------------+ |function-rtti-make_file_access| .. _function-_at_rtti_c__c_set_file_source_CI1_ls_H_ls_rtti_c__c_FileAccess_gr__gr__qm_M_CIs_CIs_C_c_C_l: .. das:function:: set_file_source(access: smart_ptr const implicit; fileName: string const implicit; text: string const implicit) set_file_source returns bool +--------+----------------------------------------------------------------------------+ +argument+argument type + +========+============================================================================+ +access +smart_ptr< :ref:`rtti::FileAccess ` > const implicit+ +--------+----------------------------------------------------------------------------+ +fileName+string const implicit + +--------+----------------------------------------------------------------------------+ +text +string const implicit + +--------+----------------------------------------------------------------------------+ |function-rtti-set_file_source| .. _function-_at_rtti_c__c_add_file_access_root_CI1_ls_H_ls_rtti_c__c_FileAccess_gr__gr__qm_W_CIs_CIs: .. das:function:: add_file_access_root(access: smart_ptr const implicit; mod: string const implicit; path: string const implicit) add_file_access_root returns bool +--------+----------------------------------------------------------------------------+ +argument+argument type + +========+============================================================================+ +access +smart_ptr< :ref:`rtti::FileAccess ` > const implicit+ +--------+----------------------------------------------------------------------------+ +mod +string const implicit + +--------+----------------------------------------------------------------------------+ +path +string const implicit + +--------+----------------------------------------------------------------------------+ |function-rtti-add_file_access_root| ++++++++++++++++ Structure access ++++++++++++++++ * :ref:`rtti_builtin_structure_for_each_annotation (struct:rtti::StructInfo const implicit;block:block\<\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`basic_struct_for_each_field (annotation:rtti::BasicStructureAnnotation const implicit;block:block\<(var arg0:string;var arg1:string;arg2:rtti::TypeInfo const;var arg3:uint):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`basic_struct_for_each_parent (annotation:rtti::BasicStructureAnnotation const implicit;block:block\<(var arg0:rtti::Annotation?):void\> const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`structure_for_each_annotation (st:rtti::StructInfo const;subexpr:block\<(ann:rtti::Annotation const;args:rtti::AnnotationArguments const):void\> const) : auto ` .. _function-_at_rtti_c__c_rtti_builtin_structure_for_each_annotation_CIH_ls_rtti_c__c_StructInfo_gr__CI_builtin__C_c_C_l: .. das:function:: rtti_builtin_structure_for_each_annotation(struct: StructInfo const implicit; block: block<> const implicit) +--------+-----------------------------------------------------------------+ +argument+argument type + +========+=================================================================+ +struct + :ref:`rtti::StructInfo ` const implicit+ +--------+-----------------------------------------------------------------+ +block +block<> const implicit + +--------+-----------------------------------------------------------------+ |function-rtti-rtti_builtin_structure_for_each_annotation| .. _function-_at_rtti_c__c_basic_struct_for_each_field_CIH_ls_rtti_c__c_BasicStructureAnnotation_gr__CI0_ls_s;s;CH_ls_rtti_c__c_TypeInfo_gr_;u_gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: basic_struct_for_each_field(annotation: BasicStructureAnnotation const implicit; block: block<(var arg0:string;var arg1:string;arg2:TypeInfo const;var arg3:uint):void> const implicit) +----------+----------------------------------------------------------------------------------------------------+ +argument +argument type + +==========+====================================================================================================+ +annotation+ :ref:`rtti::BasicStructureAnnotation ` const implicit + +----------+----------------------------------------------------------------------------------------------------+ +block +block<(string;string; :ref:`rtti::TypeInfo ` const;uint):void> const implicit+ +----------+----------------------------------------------------------------------------------------------------+ |function-rtti-basic_struct_for_each_field| .. _function-_at_rtti_c__c_basic_struct_for_each_parent_CIH_ls_rtti_c__c_BasicStructureAnnotation_gr__CI0_ls_1_ls_H_ls_rtti_c__c_Annotation_gr__gr__qm__gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: basic_struct_for_each_parent(annotation: BasicStructureAnnotation const implicit; block: block<(var arg0:Annotation?):void> const implicit) +----------+---------------------------------------------------------------------------------------------+ +argument +argument type + +==========+=============================================================================================+ +annotation+ :ref:`rtti::BasicStructureAnnotation ` const implicit+ +----------+---------------------------------------------------------------------------------------------+ +block +block<( :ref:`rtti::Annotation ` ?):void> const implicit + +----------+---------------------------------------------------------------------------------------------+ |function-rtti-basic_struct_for_each_parent| .. _function-_at_rtti_c__c_structure_for_each_annotation_CH_ls_rtti_c__c_StructInfo_gr__CN_ls_ann;args_gr_0_ls_CH_ls_rtti_c__c_Annotation_gr_;CH_ls_rtti_c__c_AnnotationArguments_gr__gr_1_ls_v_gr__builtin_: .. das:function:: structure_for_each_annotation(st: StructInfo const; subexpr: block<(ann:Annotation const;args:AnnotationArguments const):void> const) structure_for_each_annotation returns auto +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +argument+argument type + +========+================================================================================================================================================================+ +st + :ref:`rtti::StructInfo ` const + +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +subexpr +block<(ann: :ref:`rtti::Annotation ` const;args: :ref:`rtti::AnnotationArguments ` const):void> const+ +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ |function-rtti-structure_for_each_annotation| +++++++++++++++++++++++++ Data walking and printing +++++++++++++++++++++++++ * :ref:`sprint_data (data:void? const implicit;type:rtti::TypeInfo const? const implicit;flags:bitfield const;context:__context const;at:__lineInfo const) : string ` * :ref:`sprint_data (data:float4 const;type:rtti::TypeInfo const? const implicit;flags:bitfield const;context:__context const;at:__lineInfo const) : string ` * :ref:`describe (type:rtti::TypeInfo const? const implicit;context:__context const;at:__lineInfo const) : string ` * :ref:`describe (lineinfo:rtti::LineInfo const implicit;fully:bool const;context:__context const;at:__lineInfo const) : string ` * :ref:`get_mangled_name (type:rtti::TypeInfo const? const implicit;context:__context const;at:__lineInfo const) : string ` .. _function-_at_rtti_c__c_sprint_data_CI_qm__CI1_ls_CH_ls_rtti_c__c_TypeInfo_gr__gr__qm__Ct_C_c_C_l: .. das:function:: sprint_data(data: void? const implicit; type: TypeInfo const? const implicit; flags: bitfield const) sprint_data returns string +--------+--------------------------------------------------------------------+ +argument+argument type + +========+====================================================================+ +data +void? const implicit + +--------+--------------------------------------------------------------------+ +type + :ref:`rtti::TypeInfo ` const? const implicit+ +--------+--------------------------------------------------------------------+ +flags +bitfield<> const + +--------+--------------------------------------------------------------------+ |function-rtti-sprint_data| .. _function-_at_rtti_c__c_sprint_data_Cf4_CI1_ls_CH_ls_rtti_c__c_TypeInfo_gr__gr__qm__Ct_C_c_C_l: .. das:function:: sprint_data(data: float4 const; type: TypeInfo const? const implicit; flags: bitfield const) sprint_data returns string +--------+--------------------------------------------------------------------+ +argument+argument type + +========+====================================================================+ +data +float4 const + +--------+--------------------------------------------------------------------+ +type + :ref:`rtti::TypeInfo ` const? const implicit+ +--------+--------------------------------------------------------------------+ +flags +bitfield<> const + +--------+--------------------------------------------------------------------+ |function-rtti-sprint_data| .. _function-_at_rtti_c__c_describe_CI1_ls_CH_ls_rtti_c__c_TypeInfo_gr__gr__qm__C_c_C_l: .. das:function:: describe(type: TypeInfo const? const implicit) describe returns string +--------+--------------------------------------------------------------------+ +argument+argument type + +========+====================================================================+ +type + :ref:`rtti::TypeInfo ` const? const implicit+ +--------+--------------------------------------------------------------------+ |function-rtti-describe| .. _function-_at_rtti_c__c_describe_CIH_ls_rtti_c__c_LineInfo_gr__Cb_C_c_C_l: .. das:function:: describe(lineinfo: LineInfo const implicit; fully: bool const) describe returns string +--------+-------------------------------------------------------------+ +argument+argument type + +========+=============================================================+ +lineinfo+ :ref:`rtti::LineInfo ` const implicit+ +--------+-------------------------------------------------------------+ +fully +bool const + +--------+-------------------------------------------------------------+ |function-rtti-describe| .. _function-_at_rtti_c__c_get_mangled_name_CI1_ls_CH_ls_rtti_c__c_TypeInfo_gr__gr__qm__C_c_C_l: .. das:function:: get_mangled_name(type: TypeInfo const? const implicit) get_mangled_name returns string +--------+--------------------------------------------------------------------+ +argument+argument type + +========+====================================================================+ +type + :ref:`rtti::TypeInfo ` const? const implicit+ +--------+--------------------------------------------------------------------+ |function-rtti-get_mangled_name| ++++++++++++++++++++++++++++++ Function and mangled name hash ++++++++++++++++++++++++++++++ * :ref:`get_function_by_mangled_name_hash (src:uint64 const;context:__context const) : function\<\> ` * :ref:`get_function_by_mangled_name_hash (src:uint64 const;context:rtti::Context implicit) : function\<\> ` * :ref:`get_function_mangled_name_hash (src:function\<\> const;context:__context const) : uint64 ` * :ref:`get_function_address (MNH:uint64 const;at:rtti::Context implicit) : uint64 ` .. _function-_at_rtti_c__c_get_function_by_mangled_name_hash_Cu64_C_c: .. das:function:: get_function_by_mangled_name_hash(src: uint64 const) get_function_by_mangled_name_hash returns function<> +--------+-------------+ +argument+argument type+ +========+=============+ +src +uint64 const + +--------+-------------+ |function-rtti-get_function_by_mangled_name_hash| .. _function-_at_rtti_c__c_get_function_by_mangled_name_hash_Cu64_IH_ls_rtti_c__c_Context_gr_: .. das:function:: get_function_by_mangled_name_hash(src: uint64 const; context: Context implicit) get_function_by_mangled_name_hash returns function<> +--------+-----------------------------------------------------+ +argument+argument type + +========+=====================================================+ +src +uint64 const + +--------+-----------------------------------------------------+ +context + :ref:`rtti::Context ` implicit+ +--------+-----------------------------------------------------+ |function-rtti-get_function_by_mangled_name_hash| .. _function-_at_rtti_c__c_get_function_mangled_name_hash_C_at__at__C_c: .. das:function:: get_function_mangled_name_hash(src: function<> const) get_function_mangled_name_hash returns uint64 +--------+----------------+ +argument+argument type + +========+================+ +src +function<> const+ +--------+----------------+ |function-rtti-get_function_mangled_name_hash| .. _function-_at_rtti_c__c_get_function_address_Cu64_IH_ls_rtti_c__c_Context_gr_: .. das:function:: get_function_address(MNH: uint64 const; at: Context implicit) get_function_address returns uint64 +--------+-----------------------------------------------------+ +argument+argument type + +========+=====================================================+ +MNH +uint64 const + +--------+-----------------------------------------------------+ +at + :ref:`rtti::Context ` implicit+ +--------+-----------------------------------------------------+ |function-rtti-get_function_address| +++++++++++++++++++++++++ Context and mutex locking +++++++++++++++++++++++++ * :ref:`lock_this_context (block:block\ const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`lock_context (lock_context:rtti::Context implicit;block:block\ const implicit;context:__context const;line:__lineInfo const) : void ` * :ref:`lock_mutex (mutex:rtti::recursive_mutex implicit;block:block\ const implicit;context:__context const;line:__lineInfo const) : void ` .. _function-_at_rtti_c__c_lock_this_context_CI1_ls_v_gr__builtin__C_c_C_l: .. das:function:: lock_this_context(block: block const implicit) +--------+----------------------+ +argument+argument type + +========+======================+ +block +block<> const implicit+ +--------+----------------------+ |function-rtti-lock_this_context| .. _function-_at_rtti_c__c_lock_context_IH_ls_rtti_c__c_Context_gr__CI1_ls_v_gr__builtin__C_c_C_l: .. das:function:: lock_context(lock_context: Context implicit; block: block const implicit) +------------+-----------------------------------------------------+ +argument +argument type + +============+=====================================================+ +lock_context+ :ref:`rtti::Context ` implicit+ +------------+-----------------------------------------------------+ +block +block<> const implicit + +------------+-----------------------------------------------------+ |function-rtti-lock_context| .. _function-_at_rtti_c__c_lock_mutex_IH_ls_rtti_c__c_recursive_mutex_gr__CI1_ls_v_gr__builtin__C_c_C_l: .. das:function:: lock_mutex(mutex: recursive_mutex implicit; block: block const implicit) +--------+---------------------------------------------------------------------+ +argument+argument type + +========+=====================================================================+ +mutex + :ref:`rtti::recursive_mutex ` implicit+ +--------+---------------------------------------------------------------------+ +block +block<> const implicit + +--------+---------------------------------------------------------------------+ |function-rtti-lock_mutex| +++++++++++++++++++ Runtime data access +++++++++++++++++++ * :ref:`get_table_key_index (table:void? const implicit;key:any;baseType:rtti::Type const;valueTypeSize:int const;context:__context const;at:__lineInfo const) : int ` .. _function-_at_rtti_c__c_get_table_key_index_CI_qm__*_CE_ls_rtti_c__c_Type_gr__Ci_C_c_C_l: .. das:function:: get_table_key_index(table: void? const implicit; key: any; baseType: Type const; valueTypeSize: int const) get_table_key_index returns int +-------------+------------------------------------------+ +argument +argument type + +=============+==========================================+ +table +void? const implicit + +-------------+------------------------------------------+ +key +any + +-------------+------------------------------------------+ +baseType + :ref:`rtti::Type ` const+ +-------------+------------------------------------------+ +valueTypeSize+int const + +-------------+------------------------------------------+ |function-rtti-get_table_key_index| +++++++++++++ Uncategorized +++++++++++++ .. _function-_at_rtti_c__c_module_for_each_dependency_CI1_ls_H_ls_rtti_c__c_Module_gr__gr__qm__CI0_ls_1_ls_H_ls_rtti_c__c_Module_gr__gr__qm_;b_gr_1_ls_v_gr__builtin__C_c_C_l: .. das:function:: module_for_each_dependency(module: Module? const implicit; block: block<(var arg0:Module?;var arg1:bool):void> const implicit) +--------+-----------------------------------------------------------------------------+ +argument+argument type + +========+=============================================================================+ +module + :ref:`rtti::Module ` ? const implicit + +--------+-----------------------------------------------------------------------------+ +block +block<( :ref:`rtti::Module ` ?;bool):void> const implicit+ +--------+-----------------------------------------------------------------------------+ |function-rtti-module_for_each_dependency| .. _function-_at_rtti_c__c_get_tuple_field_offset_CI1_ls_H_ls_rtti_c__c_TypeInfo_gr__gr__qm__Ci: .. das:function:: get_tuple_field_offset(type: TypeInfo? const implicit; index: int const) get_tuple_field_offset returns int +--------+--------------------------------------------------------------+ +argument+argument type + +========+==============================================================+ +type + :ref:`rtti::TypeInfo ` ? const implicit+ +--------+--------------------------------------------------------------+ +index +int const + +--------+--------------------------------------------------------------+ |function-rtti-get_tuple_field_offset| .. _function-_at_rtti_c__c_get_variant_field_offset_CI1_ls_H_ls_rtti_c__c_TypeInfo_gr__gr__qm__Ci: .. das:function:: get_variant_field_offset(type: TypeInfo? const implicit; index: int const) get_variant_field_offset returns int +--------+--------------------------------------------------------------+ +argument+argument type + +========+==============================================================+ +type + :ref:`rtti::TypeInfo ` ? const implicit+ +--------+--------------------------------------------------------------+ +index +int const + +--------+--------------------------------------------------------------+ |function-rtti-get_variant_field_offset| .. _function-_at_rtti_c__c_each_I_eq_H_ls_rtti_c__c_FuncInfo_gr__C_c_C_l: .. das:function:: each(info: FuncInfo implicit ==const) each returns iterator< :ref:`rtti::VarInfo ` &> +--------+--------------------------------------------------------+ +argument+argument type + +========+========================================================+ +info + :ref:`rtti::FuncInfo ` implicit!+ +--------+--------------------------------------------------------+ |function-rtti-each| .. _function-_at_rtti_c__c_each_CI_eq_H_ls_rtti_c__c_FuncInfo_gr__C_c_C_l: .. das:function:: each(info: FuncInfo const implicit ==const) each returns iterator< :ref:`rtti::VarInfo ` const&> +--------+--------------------------------------------------------------+ +argument+argument type + +========+==============================================================+ +info + :ref:`rtti::FuncInfo ` const implicit!+ +--------+--------------------------------------------------------------+ |function-rtti-each| .. _function-_at_rtti_c__c_each_I_eq_H_ls_rtti_c__c_StructInfo_gr__C_c_C_l: .. das:function:: each(info: StructInfo implicit ==const) each returns iterator< :ref:`rtti::VarInfo ` &> +--------+------------------------------------------------------------+ +argument+argument type + +========+============================================================+ +info + :ref:`rtti::StructInfo ` implicit!+ +--------+------------------------------------------------------------+ |function-rtti-each| .. _function-_at_rtti_c__c_each_CI_eq_H_ls_rtti_c__c_StructInfo_gr__C_c_C_l: .. das:function:: each(info: StructInfo const implicit ==const) each returns iterator< :ref:`rtti::VarInfo ` const&> +--------+------------------------------------------------------------------+ +argument+argument type + +========+==================================================================+ +info + :ref:`rtti::StructInfo ` const implicit!+ +--------+------------------------------------------------------------------+ |function-rtti-each| .. _function-_at_rtti_c__c_each_I_eq_H_ls_rtti_c__c_EnumInfo_gr__C_c_C_l: .. das:function:: each(info: EnumInfo implicit ==const) each returns iterator< :ref:`rtti::EnumValueInfo ` &> +--------+--------------------------------------------------------+ +argument+argument type + +========+========================================================+ +info + :ref:`rtti::EnumInfo ` implicit!+ +--------+--------------------------------------------------------+ |function-rtti-each| .. _function-_at_rtti_c__c_each_CI_eq_H_ls_rtti_c__c_EnumInfo_gr__C_c_C_l: .. das:function:: each(info: EnumInfo const implicit ==const) each returns iterator< :ref:`rtti::EnumValueInfo ` const&> +--------+--------------------------------------------------------------+ +argument+argument type + +========+==============================================================+ +info + :ref:`rtti::EnumInfo ` const implicit!+ +--------+--------------------------------------------------------------+ |function-rtti-each|