#ifndef  ENTITY_SDAIFUNCTION_APPLICATION_H
#define  ENTITY_SDAIFUNCTION_APPLICATION_H

// This file was generated by exp2cxx,
// 0.8.1.
// You probably don't want to edit it since your modifications
// will be lost if exp2cxx is used to regenerate it.

class SC_SCHEMA_EXPORT SdaiFunction_application : public SdaiMultiple_arity_generic_expression {
     protected:
        SdaiMaths_function_select _func;
        SdaiMaths_expression_agg_ptr _arguments = NULL;          //  of  maths_expression

    public: 
        SdaiFunction_application();
        SdaiFunction_application( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiFunction_application( SdaiFunction_application & e );
        ~SdaiFunction_application();
        int opcode() {
            return 1659;
        }
        SdaiMaths_function_select_ptr_c func_() const;
        SdaiMaths_function_select_ptr   func_();
        void func_( const SdaiMaths_function_select_ptr x );

        SdaiMaths_expression_agg_ptr_c arguments_() const;
        SdaiMaths_expression_agg_ptr   arguments_();
        void arguments_( const SdaiMaths_expression_agg_ptr x );

};

inline SdaiFunction_application * create_SdaiFunction_application() {
    return new SdaiFunction_application;
}

void init_SdaiFunction_application(Registry& reg);

namespace ap242_managed_model_based_3d_engineering_mim_lf {
    extern EntityDescriptor *e_function_application;
    extern AttrDescriptor *a_2206func;
    extern AttrDescriptor *a_2207arguments;
    extern Derived_attribute *a_2208Dmultiple_arity_generic_expression_operands;
}

#endif
