常规的GGroup及其派生类在运行时是不允许再修改前序后继关系的,但是GMutable可以 具体做法是GMutable在每次run的时候会先调用setup初始化自己这张子图(实际上就是清空),再调用reshape修改前序后继关系,最后才是正常运行子图 GMutable的reshape是纯虚函数,派生类必须实现,可以参考MyMutable示例
More...
|
| template<typename TAspect , typename TParam = GAspectDefaultParam, c_enable_if_t< std::is_base_of< GAspect, TAspect >::value, int > = 0, c_enable_if_t< std::is_base_of< GAspectParam, TParam >::value, int > = 0> |
| GElement * | addGAspect (TParam *param=nullptr) |
| |
| template<typename TAspect , typename ... Args, c_enable_if_t< std::is_base_of< GTemplateAspect< Args... >, TAspect >::value, int > = 0> |
| GElement * | addGAspect (Args... args) |
| |
| template<typename T , c_enable_if_t< std::is_base_of< GElementParam, T >::value, int > = 0> |
| GElement * | addEParam (const std::string &key, T *param) |
| |
| CStatus | addDependGElements (const std::set< GElement * > &elements) |
| |
| GElement * | setName (const std::string &name) override |
| |
| GElement * | setLoop (CSize loop) |
| |
| GElement * | setLevel (CLevel level) |
| |
| GElement * | setVisible (CBool visible) |
| |
| GElement * | setBindingIndex (CIndex index) |
| |
| GElement * | setTimeout (CMSec timeout, GElementTimeoutStrategy strategy=GElementTimeoutStrategy::AS_ERROR) |
| |
| GElement * | setMacro (CBool macro) |
| |
| CBool | isGGroup () const |
| |
| CBool | isGAdaptor () const |
| |
| CBool | isGNode () const |
| |
| GElementState | getCurState () const |
| |
| CStatus | removeDepend (GElement *element) |
| |
| GElement & | operator-- (int) noexcept |
| |
| GElement & | operator> (GElement *element) |
| |
| GElement & | operator& (GElement *element) |
| |
| GElement & | operator* (CSize loop) noexcept |
| |
| template<typename TAspect , typename TParam , c_enable_if_t< std::is_base_of< GAspect, TAspect >::value, int > , c_enable_if_t< std::is_base_of< GAspectParam, TParam >::value, int > > |
| CGRAPH_NAMESPACE_BEGIN GElementPtr | addGAspect (TParam *param) |
| |
| template<typename TAspect , typename ... Args, c_enable_if_t< std::is_base_of< GTemplateAspect< Args... >, TAspect >::value, int > > |
| GElementPtr | addGAspect (Args... args) |
| |
| template<typename T , c_enable_if_t< std::is_base_of< GElementParam, T >::value, int > > |
| GElementPtr | addEParam (const std::string &key, T *param) |
| |
| | CObject ()=default |
| |
| virtual | ~CObject ()=default |
| |
| virtual const std::string & | getName () const |
| |
| const std::string & | getSession () const |
| |
| const std::string & | getDescription () const |
| |
| virtual auto | setDescription (const std::string &description) -> decltype(this) |
| |
| virtual | ~CDescInfo ()=default |
| |
| std::string | name_ |
| |
| std::string | session_ |
| |
| std::string | description_ |
| |
常规的GGroup及其派生类在运行时是不允许再修改前序后继关系的,但是GMutable可以 具体做法是GMutable在每次run的时候会先调用setup初始化自己这张子图(实际上就是清空),再调用reshape修改前序后继关系,最后才是正常运行子图 GMutable的reshape是纯虚函数,派生类必须实现,可以参考MyMutable示例