#ifndef  ENTITY_SDAIAPPLICATION_DEFINED_FUNCTION_H
#define  ENTITY_SDAIAPPLICATION_DEFINED_FUNCTION_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 SdaiApplication_defined_function : public SdaiMaths_function {
     protected:
        SdaiTuple_space _explicit_domain;
        SdaiTuple_space _explicit_range;
        SdaiMaths_value_agg_ptr _parameters = NULL;          //  of  maths_value

    public: 
        SdaiApplication_defined_function();
        SdaiApplication_defined_function( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiApplication_defined_function( SdaiApplication_defined_function & e );
        ~SdaiApplication_defined_function();
        int opcode() {
            return 365;
        }
        SdaiTuple_space_ptr_c explicit_domain_() const;
        SdaiTuple_space_ptr   explicit_domain_();
        void explicit_domain_( const SdaiTuple_space_ptr x );

        SdaiTuple_space_ptr_c explicit_range_() const;
        SdaiTuple_space_ptr   explicit_range_();
        void explicit_range_( const SdaiTuple_space_ptr x );

        SdaiMaths_value_agg_ptr_c parameters_() const;
        SdaiMaths_value_agg_ptr   parameters_();
        void parameters_( const SdaiMaths_value_agg_ptr x );

};

inline SdaiApplication_defined_function * create_SdaiApplication_defined_function() {
    return new SdaiApplication_defined_function;
}

void init_SdaiApplication_defined_function(Registry& reg);

namespace engineering_properties_schema {
    extern EntityDescriptor *e_application_defined_function;
    extern AttrDescriptor *a_577explicit_domain;
    extern AttrDescriptor *a_578explicit_range;
    extern AttrDescriptor *a_579parameters;
}

#endif
