#ifndef  ENTITY_SDAIIFCSTYLEDITEM_H
#define  ENTITY_SDAIIFCSTYLEDITEM_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 SdaiIfcstyleditem : public SdaiIfcrepresentationitem {
     protected:
        SDAI_Application_instance_ptr _item = NULL;    //  OPTIONAL
        SdaiIfcstyleassignmentselect_agg_ptr _styles = NULL;          //  of  ifcstyleassignmentselect

        SDAI_String _name;    //  OPTIONAL
    public: 
        SdaiIfcstyleditem();
        SdaiIfcstyleditem( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcstyleditem( SdaiIfcstyleditem & e );
        ~SdaiIfcstyleditem();
        int opcode() {
            return 622;
        }
        SdaiIfcrepresentationitem_ptr_c item_() const;
        SdaiIfcrepresentationitem_ptr   item_();
        void item_( const SdaiIfcrepresentationitem_ptr x );

        SdaiIfcstyleassignmentselect_agg_ptr_c styles_() const;
        SdaiIfcstyleassignmentselect_agg_ptr   styles_();
        void styles_( const SdaiIfcstyleassignmentselect_agg_ptr x );

  const SdaiIfclabel   name_() const;
        SdaiIfclabel   name_();
        void name_( const SdaiIfclabel x );

};

inline SdaiIfcstyleditem * create_SdaiIfcstyleditem() {
    return new SdaiIfcstyleditem;
}

void init_SdaiIfcstyleditem(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcstyleditem;
    extern AttrDescriptor *a_1382item;
    extern AttrDescriptor *a_1383styles;
    extern AttrDescriptor *a_1384name;
}

#endif
