#ifndef  ENTITY_SDAIIFCRELDECLARES_H
#define  ENTITY_SDAIIFCRELDECLARES_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 SdaiIfcreldeclares : public SdaiIfcrelationship {
     protected:
        SDAI_Application_instance_ptr _relatingcontext = NULL;
        SdaiIfcdefinitionselect_agg_ptr _relateddefinitions = NULL;          //  of  ifcdefinitionselect

    public: 
        SdaiIfcreldeclares();
        SdaiIfcreldeclares( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcreldeclares( SdaiIfcreldeclares & e );
        ~SdaiIfcreldeclares();
        int opcode() {
            return 251;
        }
        SdaiIfccontext_ptr_c relatingcontext_() const;
        SdaiIfccontext_ptr   relatingcontext_();
        void relatingcontext_( const SdaiIfccontext_ptr x );

        SdaiIfcdefinitionselect_agg_ptr_c relateddefinitions_() const;
        SdaiIfcdefinitionselect_agg_ptr   relateddefinitions_();
        void relateddefinitions_( const SdaiIfcdefinitionselect_agg_ptr x );

};

inline SdaiIfcreldeclares * create_SdaiIfcreldeclares() {
    return new SdaiIfcreldeclares;
}

void init_SdaiIfcreldeclares(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcreldeclares;
    extern AttrDescriptor *a_568relatingcontext;
    extern AttrDescriptor *a_569relateddefinitions;
}

#endif
