#ifndef  ENTITY_SDAIFORWARD_CHAINING_RULE_PREMISE_H
#define  ENTITY_SDAIFORWARD_CHAINING_RULE_PREMISE_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 SdaiForward_chaining_rule_premise : public SdaiProperty_definition {
     protected:
        SDAI_Application_instance_ptr _used_representation = NULL;
        EntityAggregate_ptr _items = NULL;          //  of  representation_item

        SDAI_Application_instance_ptr _context_of_items = NULL;
    public: 
        SdaiForward_chaining_rule_premise();
        SdaiForward_chaining_rule_premise( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiForward_chaining_rule_premise( SdaiForward_chaining_rule_premise & e );
        ~SdaiForward_chaining_rule_premise();
        int opcode() {
            return 475;
        }
        SdaiRepresentation_ptr_c used_representation_() const;
        SdaiRepresentation_ptr   used_representation_();
        void used_representation_( const SdaiRepresentation_ptr x );

        EntityAggregate_ptr_c items_() const;
        EntityAggregate_ptr   items_();
        void items_( const EntityAggregate_ptr x );

        SdaiRepresentation_context_ptr_c context_of_items_() const;
        SdaiRepresentation_context_ptr   context_of_items_();
        void context_of_items_( const SdaiRepresentation_context_ptr x );

};

inline SdaiForward_chaining_rule_premise * create_SdaiForward_chaining_rule_premise() {
    return new SdaiForward_chaining_rule_premise;
}

void init_SdaiForward_chaining_rule_premise(Registry& reg);

namespace ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf {
    extern EntityDescriptor *e_forward_chaining_rule_premise;
}

#endif
