#ifndef  ENTITY_SDAIINSTANCE_ATTRIBUTE_REFERENCE_H
#define  ENTITY_SDAIINSTANCE_ATTRIBUTE_REFERENCE_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 SdaiInstance_attribute_reference : public SdaiVariable_semantics {
     protected:
        SDAI_String _attribute_name;
        SDAI_Application_instance_ptr _owning_instance = NULL;
    public: 
        SdaiInstance_attribute_reference();
        SdaiInstance_attribute_reference( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiInstance_attribute_reference( SdaiInstance_attribute_reference & e );
        ~SdaiInstance_attribute_reference();
        int opcode() {
            return 88;
        }
  const SdaiAttribute_identifier   attribute_name_() const;
        SdaiAttribute_identifier   attribute_name_();
        void attribute_name_( const SdaiAttribute_identifier x );

        SdaiRepresentation_item_ptr_c owning_instance_() const;
        SdaiRepresentation_item_ptr   owning_instance_();
        void owning_instance_( const SdaiRepresentation_item_ptr x );

};

inline SdaiInstance_attribute_reference * create_SdaiInstance_attribute_reference() {
    return new SdaiInstance_attribute_reference;
}

void init_SdaiInstance_attribute_reference(Registry& reg);

namespace ap242_managed_model_based_3d_engineering_mim_lf {
    extern EntityDescriptor *e_instance_attribute_reference;
    extern AttrDescriptor *a_117attribute_name;
    extern AttrDescriptor *a_118owning_instance;
}

#endif
