🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ReflectAPI.hpp 文件参考
#include "AstGlobal.h"
#include "AstUtil/StringView.hpp"
#include "AstUtil/Dimension.hpp"
#include <string>
#include <type_traits>

浏览该文件的源代码.

struct  ast::property_trait< T >
 
struct  ast::property_trait< std::string >
 
struct  ast::property_trait< TimePoint >
 
struct  ast::detail::MemberPtrTag
 
struct  ast::detail::GetterOnlyTag
 
struct  ast::detail::GetterVoidSetterTag
 
struct  ast::detail::GetterErrorSetterTag
 
struct  ast::detail::PropertyBuilder< T, ValueType, MemberPtrTag >
 
struct  ast::detail::PropertyBuilder< T, ValueType, GetterOnlyTag >
 
struct  ast::detail::PropertyBuilder< T, ValueType, GetterVoidSetterTag >
 
struct  ast::detail::PropertyBuilder< T, ValueType, GetterErrorSetterTag >
 
struct  ast::detail::PropertyBuilder< T, std::string, GetterVoidSetterTag >
 
struct  ast::detail::PropertyBuilder< T, std::string, GetterErrorSetterTag >
 
struct  ast::detail::PropertyBuilderValueString< T >
 

命名空间

namespace  ast
 

类型定义

using ast::FPropertyGet = errc_t (*)(const void* obj, void* value)
 
using ast::FPropertySet = errc_t (*)(void* obj, const void* value)
 
using ast::FPropertyGetItemByString = errc_t (*)(const void* obj, StringView key, Object*& value)
 
using ast::FPropertyGetItemByIndex = errc_t (*)(const void* obj, size_t key, Object*& value)
 

函数

Propertyast::_aNewPropertyBool (FPropertyGet getter, FPropertySet setter)
 
Propertyast::_aNewPropertyInt (FPropertyGet getter, FPropertySet setter)
 
Propertyast::_aNewPropertyDouble (FPropertyGet getter, FPropertySet setter)
 
Propertyast::_aNewPropertyString (FPropertyGet getter, FPropertySet setter)
 
Propertyast::_aNewPropertyQuantity (FPropertyGet getter, FPropertySet setter, Dimension dimension)
 
Propertyast::_aNewPropertyObject (FPropertyGet getter, FPropertySet setter, Class *cls)
 
template<typename T >
Propertyast::_aNewProperty (FPropertyGet getter, FPropertySet setter)
 
template<>
Propertyast::_aNewProperty< bool > (FPropertyGet getter, FPropertySet setter)
 
template<>
Propertyast::_aNewProperty< int > (FPropertyGet getter, FPropertySet setter)
 
template<>
Propertyast::_aNewProperty< double > (FPropertyGet getter, FPropertySet setter)
 
template<>
Propertyast::_aNewProperty< std::string > (FPropertyGet getter, FPropertySet setter)
 
template<typename T , typename MemberType , MemberType T::* Member>
A_ALWAYS_INLINE Propertyast::aNewPropertyMem ()
 
template<typename T , typename Ret , Ret(T::*)() const Getter>
A_ALWAYS_INLINE Propertyast::aNewPropertyReadOnly ()
 
template<typename T , typename Ret , Ret(T::*)() const Getter, void(T::*)(Ret) Setter>
A_ALWAYS_INLINE Propertyast::aNewProperty ()
 
template<typename T , typename Ret , Ret(T::*)() const Getter, errc_t(T::*)(Ret) Setter>
A_ALWAYS_INLINE Propertyast::aNewPropertyWithError ()
 
template<typename T , double T::* Member>
A_ALWAYS_INLINE Propertyast::aNewPropertyQuantity (Dimension dim)
 
template<typename T , double(T::*)() const Getter, void(T::*)(double) Setter>
A_ALWAYS_INLINE Propertyast::aNewPropertyQuantity (Dimension dim)
 
template<typename T , double(T::*)() const Getter, errc_t(T::*)(double) Setter>
A_ALWAYS_INLINE Propertyast::aNewPropertyQuantityWithError (Dimension dim)
 
template<typename T , typename ObjectType , ObjectType *T::* Member>
A_ALWAYS_INLINE Propertyast::aNewPropertyObject ()
 
template<typename T , typename ObjectType , ObjectType *(T::*)() const Getter, void(T::*)(ObjectType *) Setter>
A_ALWAYS_INLINE Propertyast::aNewPropertyObject ()
 
template<typename T , typename ObjectType , ObjectType *(T::*)() const Getter, errc_t(T::*)(ObjectType *) Setter>
A_ALWAYS_INLINE Propertyast::aNewPropertyObjectWithError ()
 
template<typename T , bool T::* Member>
A_ALWAYS_INLINE Propertyast::aNewPropertyBoolMem ()
 
template<typename T , int T::* Member>
A_ALWAYS_INLINE Propertyast::aNewPropertyIntMem ()
 
template<typename T , double T::* Member>
A_ALWAYS_INLINE Propertyast::aNewPropertyDoubleMem ()
 
template<typename T , std::string T::* Member>
A_ALWAYS_INLINE Propertyast::aNewPropertyStringMem ()
 
template<typename T , bool T::* Member>
A_ALWAYS_INLINE Propertyast::aNewPropertyBool ()
 
template<typename T , int T::* Member>
A_ALWAYS_INLINE Propertyast::aNewPropertyInt ()
 
template<typename T , double T::* Member>
A_ALWAYS_INLINE Propertyast::aNewPropertyDouble ()
 
template<typename T , std::string T::* Member>
A_ALWAYS_INLINE Propertyast::aNewPropertyString ()
 
template<typename T , double T::* Member>
A_ALWAYS_INLINE Propertyast::aNewPropertyQuantityMem (Dimension dim)
 
template<typename T , bool(T::*)() const Getter, void(T::*)(bool) Setter>
A_ALWAYS_INLINE Propertyast::aNewPropertyBool ()
 
template<typename T , int(T::*)() const Getter, void(T::*)(int) Setter>
A_ALWAYS_INLINE Propertyast::aNewPropertyInt ()
 
template<typename T , double(T::*)() const Getter, void(T::*)(double) Setter>
A_ALWAYS_INLINE Propertyast::aNewPropertyDouble ()
 
template<typename T , const std::string &(T::*)() const Getter, void(T::*)(StringView) Setter>
A_ALWAYS_INLINE Propertyast::aNewPropertyString ()
 

详细描述

~

~

作者
axel
日期
2025-12-09

ast项目(https://github.com/space-ast/ast) 本项目基于 Apache 2.0 开源许可证分发。 您可在遵守许可证条款的前提下使用、修改和分发本软件。 许可证全文请见:

http://www.apache.org/licenses/LICENSE-2.0

重要须知: 软件按"现有状态"提供,无任何明示或暗示的担保条件。 除非法律要求或书面同意,作者与贡献者不承担任何责任。 使用本软件所产生的风险,需由您自行承担。