#ifndef  ENTITY_SDAIDOCUMENT_USAGE_CONSTRAINT_ASSIGNMENT_H
#define  ENTITY_SDAIDOCUMENT_USAGE_CONSTRAINT_ASSIGNMENT_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 SdaiDocument_usage_constraint_assignment : public SDAI_Application_instance {
    protected:
        SDAI_Application_instance_ptr _assigned_document_usage = NULL;
        SDAI_Application_instance_ptr _role = NULL;
    public: 
        SdaiDocument_usage_constraint_assignment();
        SdaiDocument_usage_constraint_assignment( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiDocument_usage_constraint_assignment( SdaiDocument_usage_constraint_assignment & e );
        ~SdaiDocument_usage_constraint_assignment();
        int opcode() {
            return 859;
        }
        SdaiDocument_usage_constraint_ptr_c assigned_document_usage_() const;
        SdaiDocument_usage_constraint_ptr   assigned_document_usage_();
        void assigned_document_usage_( const SdaiDocument_usage_constraint_ptr x );

        SdaiDocument_usage_role_ptr_c role_() const;
        SdaiDocument_usage_role_ptr   role_();
        void role_( const SdaiDocument_usage_role_ptr x );

};

inline SdaiDocument_usage_constraint_assignment * create_SdaiDocument_usage_constraint_assignment() {
    return new SdaiDocument_usage_constraint_assignment;
}

void init_SdaiDocument_usage_constraint_assignment(Registry& reg);

namespace ap210_electronic_assembly_interconnect_and_packaging_design_mim_lf {
    extern EntityDescriptor *e_document_usage_constraint_assignment;
    extern AttrDescriptor *a_957assigned_document_usage;
    extern AttrDescriptor *a_958role;
}

#endif
