#ifndef  TYPE_SDAICONDITION_EVALUATION_PARAMETER_ITEM_H
#define  TYPE_SDAICONDITION_EVALUATION_PARAMETER_ITEM_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.


//////////  SELECT TYPE SdaiCondition_evaluation_parameter_item
class SC_SCHEMA_EXPORT SdaiCondition_evaluation_parameter_item  :  public SDAI_Select {
  protected:
    //  types in SELECT 
    //   ACTIVITY    --  sdaiINSTANCE
    //   ACTIVITY_METHOD    --  sdaiINSTANCE
    //   ACTIVITY_PROPERTY    --  sdaiINSTANCE
    //   ACTIVITY_PROPERTY_REPRESENTATION    --  sdaiINSTANCE
    //   APPROVAL    --  sdaiINSTANCE
    //   APPROVAL_ASSIGNMENT    --  sdaiINSTANCE
    //   ASSIGNED_PROPERTY    --  sdaiINSTANCE
    //   CALENDAR_DATE    --  sdaiINSTANCE
    //   CERTIFICATION_ASSIGNMENT    --  sdaiINSTANCE
    //   CLASSIFICATION_ASSIGNMENT    --  sdaiINSTANCE
    //   CONTRACT_ASSIGNMENT    --  sdaiINSTANCE
    //   DATE_OR_DATE_TIME_ASSIGNMENT    --  sdaiINSTANCE
    //   DATE_TIME    --  sdaiINSTANCE
    //   DOCUMENT_ASSIGNMENT    --  sdaiINSTANCE
    //   HIERARCHICAL_INTERFACE_CONNECTION    --  sdaiINSTANCE
    //   IDENTIFICATION_ASSIGNMENT    --  sdaiINSTANCE
    //   INDEPENDENT_PROPERTY_REPRESENTATION    --  sdaiINSTANCE
    //   INTERFACE_CONNECTION    --  sdaiINSTANCE
    //   INTERFACE_CONNECTOR_OCCURRENCE    --  sdaiINSTANCE
    //   INTERFACE_DEFINITION_CONNECTION    --  sdaiINSTANCE
    //   MANAGED_RESOURCE    --  sdaiINSTANCE
    //   ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT    --  sdaiINSTANCE
    //   PRODUCT    --  sdaiINSTANCE
    //   PRODUCT_AS_INDIVIDUAL    --  sdaiINSTANCE
    //   PRODUCT_CATEGORY_ASSIGNMENT    --  sdaiINSTANCE
    //   PRODUCT_CONCEPT    --  sdaiINSTANCE
    //   PRODUCT_DEFINITION_ELEMENT_RELATIONSHIP    --  sdaiINSTANCE
    //   PRODUCT_VERSION    --  sdaiINSTANCE
    //   PRODUCT_VIEW_DEFINITION    --  sdaiINSTANCE
    //   PROPERTY_REPRESENTATION    --  sdaiINSTANCE
    //   REPRESENTATION    --  sdaiINSTANCE
    //   REQUIRED_RESOURCE    --  sdaiINSTANCE
    //   RESOURCE_AS_REALIZED    --  sdaiINSTANCE
    //   RESOURCE_AS_REALIZED_RELATIONSHIP    --  sdaiINSTANCE
    //   RESOURCE_EVENT    --  sdaiINSTANCE
    //   RESOURCE_PROPERTY    --  sdaiINSTANCE
    //   RESOURCE_PROPERTY_REPRESENTATION    --  sdaiINSTANCE
    //   STATE    --  sdaiINSTANCE
    //   STATE_DEFINITION    --  sdaiINSTANCE
    //   VIEW_DEFINITION_RELATIONSHIP    --  sdaiINSTANCE
       SDAI_Application_instance_ptr _app_inst;

  public:
    virtual const TypeDescriptor * AssignEntity (SDAI_Application_instance * se);
    virtual SDAI_Select * NewSelect ();

    virtual BASE_TYPE ValueType() const;


// STEP Part 21
    virtual void STEPwrite_content (ostream& out =std::cout,
                    const char *currSch =0) const;
    virtual void STEPwrite_verbose (ostream& out =std::cout,
                    const char *currSch =0) const;
    virtual Severity STEPread_content (istream& in =cin,
        InstMgrBase * instances =0, const char *utype =0,
        int addFileId =0, const char *currSch =0);
    virtual Severity StrToVal_content (const char *,
        InstMgrBase * instances =0);

// STEP Part 22:  SDAI

// constructors
    SdaiCondition_evaluation_parameter_item( const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    //  part 1
    SdaiCondition_evaluation_parameter_item( const SdaiActivity_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiActivity_method_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiActivity_property_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiActivity_property_representation_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiApproval_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiApproval_assignment_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiAssigned_property_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiCalendar_date_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiCertification_assignment_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiClassification_assignment_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiContract_assignment_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiDate_or_date_time_assignment_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiDate_time_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiDocument_assignment_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiHierarchical_interface_connection_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiIdentification_assignment_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiIndependent_property_representation_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiInterface_connection_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiInterface_connector_occurrence_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiInterface_definition_connection_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiManaged_resource_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiOrganization_or_person_in_organization_assignment_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiProduct_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiProduct_as_individual_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiProduct_category_assignment_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiProduct_concept_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiProduct_definition_element_relationship_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiProduct_version_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiProduct_view_definition_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiProperty_representation_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiRepresentation_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiRequired_resource_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiResource_as_realized_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiResource_as_realized_relationship_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiResource_event_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiResource_property_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiResource_property_representation_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiState_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiState_definition_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    SdaiCondition_evaluation_parameter_item( const SdaiView_definition_relationship_ptr&,
                                             const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    virtual ~SdaiCondition_evaluation_parameter_item();

    //  part 2
    operator SdaiActivity_ptr();
    operator SdaiActivity_method_ptr();
    operator SdaiActivity_property_ptr();
    operator SdaiActivity_property_representation_ptr();
    operator SdaiApproval_ptr();
    operator SdaiApproval_assignment_ptr();
    operator SdaiAssigned_property_ptr();
    operator SdaiCalendar_date_ptr();
    operator SdaiCertification_assignment_ptr();
    operator SdaiClassification_assignment_ptr();
    operator SdaiContract_assignment_ptr();
    operator SdaiDate_or_date_time_assignment_ptr();
    operator SdaiDate_time_ptr();
    operator SdaiDocument_assignment_ptr();
    operator SdaiHierarchical_interface_connection_ptr();
    operator SdaiIdentification_assignment_ptr();
    operator SdaiIndependent_property_representation_ptr();
    operator SdaiInterface_connection_ptr();
    operator SdaiInterface_connector_occurrence_ptr();
    operator SdaiInterface_definition_connection_ptr();
    operator SdaiManaged_resource_ptr();
    operator SdaiOrganization_or_person_in_organization_assignment_ptr();
    operator SdaiProduct_ptr();
    operator SdaiProduct_as_individual_ptr();
    operator SdaiProduct_category_assignment_ptr();
    operator SdaiProduct_concept_ptr();
    operator SdaiProduct_definition_element_relationship_ptr();
    operator SdaiProduct_version_ptr();
    operator SdaiProduct_view_definition_ptr();
    operator SdaiProperty_representation_ptr();
    operator SdaiRepresentation_ptr();
    operator SdaiRequired_resource_ptr();
    operator SdaiResource_as_realized_ptr();
    operator SdaiResource_as_realized_relationship_ptr();
    operator SdaiResource_event_ptr();
    operator SdaiResource_property_ptr();
    operator SdaiResource_property_representation_ptr();
    operator SdaiState_ptr();
    operator SdaiState_definition_ptr();
    operator SdaiView_definition_relationship_ptr();

    //  part 3
        SdaiProduct_view_definition_ptr_c related_view_() const;
        SdaiProduct_view_definition_ptr   related_view_();
        void related_view_( const SdaiProduct_view_definition_ptr x );

        SdaiProduct_view_definition_ptr_c relating_view_() const;
        SdaiProduct_view_definition_ptr   relating_view_();
        void relating_view_( const SdaiProduct_view_definition_ptr x );

  const SDAI_String   relation_type_() const;
        SDAI_String   relation_type_();
        void relation_type_( const SDAI_String x );

        SdaiManaged_resource_ptr_c resource_() const;
        SdaiManaged_resource_ptr   resource_();
        void resource_( const SdaiManaged_resource_ptr x );

        SdaiResource_as_realized_relationship_select_ptr_c related_() const;
        SdaiResource_as_realized_relationship_select_ptr   related_();
        void related_( const SdaiResource_as_realized_relationship_select_ptr x );

        SdaiResource_as_realized_ptr_c relating_() const;
        SdaiResource_as_realized_ptr   relating_();
        void relating_( const SdaiResource_as_realized_ptr x );

        SdaiValue_with_unit_ptr_c required_quantity_() const;
        SdaiValue_with_unit_ptr   required_quantity_();
        void required_quantity_( const SdaiValue_with_unit_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 );

        SdaiProduct_version_ptr_c defined_version_() const;
        SdaiProduct_version_ptr   defined_version_();
        void defined_version_( const SdaiProduct_version_ptr x );

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

        SdaiView_definition_context_ptr_c initial_context_() const;
        SdaiView_definition_context_ptr   initial_context_();
        void initial_context_( const SdaiView_definition_context_ptr x );

  const SDAI_String   additional_characterization_() const;
        SDAI_String   additional_characterization_();
        void additional_characterization_( const SDAI_String x );

        SdaiProduct_ptr_c of_product_() const;
        SdaiProduct_ptr   of_product_();
        void of_product_( const SdaiProduct_ptr x );

        SdaiProduct_item_ptr_c product_() const;
        SdaiProduct_item_ptr   product_();
        void product_( const SdaiProduct_item_ptr x );

        SdaiBreakdown_item_ptr_c breakdown_() const;
        SdaiBreakdown_item_ptr   breakdown_();
        void breakdown_( const SdaiBreakdown_item_ptr x );

        SdaiMarket_ptr_c target_market_() const;
        SdaiMarket_ptr   target_market_();
        void target_market_( const SdaiMarket_ptr x );

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

        SdaiProduct_category_ptr_c category_() const;
        SdaiProduct_category_ptr   category_();
        void category_( const SdaiProduct_category_ptr x );

        SdaiOrganization_or_person_in_organization_select_ptr_c assigned_entity_() const;
        SdaiOrganization_or_person_in_organization_select_ptr   assigned_entity_();
        void assigned_entity_( const SdaiOrganization_or_person_in_organization_select_ptr x );

        SdaiResource_item_ptr_c item_() const;
        SdaiResource_item_ptr   item_();
        void item_( const SdaiResource_item_ptr x );

        SdaiValue_with_unit_ptr_c quantity_() const;
        SdaiValue_with_unit_ptr   quantity_();
        void quantity_( const SdaiValue_with_unit_ptr x );

        SdaiConnector_on_item_ptr_c connector_on_() const;
        SdaiConnector_on_item_ptr   connector_on_();
        void connector_on_( const SdaiConnector_on_item_ptr x );

        SdaiInterface_connector_definition_ptr_c occurrence_of_() const;
        SdaiInterface_connector_definition_ptr   occurrence_of_();
        void occurrence_of_( const SdaiInterface_connector_definition_ptr x );

  const SDAI_String   identifier_() const;
        SDAI_String   identifier_();
        void identifier_( const SDAI_String x );

        SdaiConnection_items_ptr_c connected_() const;
        SdaiConnection_items_ptr   connected_();
        void connected_( const SdaiConnection_items_ptr x );

        SdaiConnection_items_ptr_c connecting_() const;
        SdaiConnection_items_ptr   connecting_();
        void connecting_( const SdaiConnection_items_ptr x );

  const SDAI_String   connection_type_() const;
        SDAI_String   connection_type_();
        void connection_type_( const SDAI_String x );

        SdaiDocumented_element_select_ptr_c is_assigned_to_() const;
        SdaiDocumented_element_select_ptr   is_assigned_to_();
        void is_assigned_to_( const SdaiDocumented_element_select_ptr x );

        SdaiAssigned_document_select_ptr_c assigned_document_() const;
        SdaiAssigned_document_select_ptr   assigned_document_();
        void assigned_document_( const SdaiAssigned_document_select_ptr x );

        SdaiLocal_time_ptr_c time_component_() const;
        SdaiLocal_time_ptr   time_component_();
        void time_component_( const SdaiLocal_time_ptr x );

        SdaiCalendar_date_ptr_c date_component_() const;
        SdaiCalendar_date_ptr   date_component_();
        void date_component_( const SdaiCalendar_date_ptr x );

        SdaiDate_or_date_time_select_ptr_c assigned_date_() const;
        SdaiDate_or_date_time_select_ptr   assigned_date_();
        void assigned_date_( const SdaiDate_or_date_time_select_ptr x );

        SdaiContract_ptr_c assigned_contract_() const;
        SdaiContract_ptr   assigned_contract_();
        void assigned_contract_( const SdaiContract_ptr x );

        SdaiClass_ptr_c assigned_class_() const;
        SdaiClass_ptr   assigned_class_();
        void assigned_class_( const SdaiClass_ptr x );

        SdaiCertification_ptr_c assigned_certification_() const;
        SdaiCertification_ptr   assigned_certification_();
        void assigned_certification_( const SdaiCertification_ptr x );

        SdaiDay_in_month_number   day_component_() const;
        void day_component_( const SdaiDay_in_month_number x );

        SdaiMonth_in_year_number   month_component_() const;
        void month_component_( const SdaiMonth_in_year_number x );

        SdaiYear_number   year_component_() const;
        void year_component_( const SdaiYear_number x );

        SdaiApproval_item_agg_ptr_c items_() const;
        SdaiApproval_item_agg_ptr   items_();
        void items_( const SdaiApproval_item_agg_ptr x );

        SdaiApproval_ptr_c assigned_approval_() const;
        SdaiApproval_ptr   assigned_approval_();
        void assigned_approval_( const SdaiApproval_ptr x );

        SdaiDate_or_date_time_select_ptr_c actual_date_() const;
        SdaiDate_or_date_time_select_ptr   actual_date_();
        void actual_date_( const SdaiDate_or_date_time_select_ptr x );

        SdaiDate_or_date_time_select_ptr_c planned_date_() const;
        SdaiDate_or_date_time_select_ptr   planned_date_();
        void planned_date_( const SdaiDate_or_date_time_select_ptr x );

        SdaiApproval_status_ptr_c status_() const;
        SdaiApproval_status_ptr   status_();
        void status_( const SdaiApproval_status_ptr x );

  const SDAI_String   role_() const;
        SDAI_String   role_();
        void role_( const SDAI_String x );

        SdaiRepresentation_ptr_c rep_() const;
        SdaiRepresentation_ptr   rep_();
        void rep_( const SdaiRepresentation_ptr x );

        SdaiActivity_property_ptr_c property_() const;
        SdaiActivity_property_ptr   property_();
        void property_( const SdaiActivity_property_ptr x );

        SdaiCharacterized_activity_definition_ptr_c described_element_() const;
        SdaiCharacterized_activity_definition_ptr   described_element_();
        void described_element_( const SdaiCharacterized_activity_definition_ptr x );

  const SDAI_String   purpose_() const;
        SDAI_String   purpose_();
        void purpose_( const SDAI_String x );

  const SDAI_String   consequence_() const;
        SDAI_String   consequence_();
        void consequence_( const SDAI_String x );

        SdaiActivity_method_ptr_c chosen_method_() const;
        SdaiActivity_method_ptr   chosen_method_();
        void chosen_method_( const SdaiActivity_method_ptr x );

  const SDAI_String   description_() const;
        SDAI_String   description_();
        void description_( const SDAI_String x );

  const SDAI_String   name_() const;
        SDAI_String   name_();
        void name_( const SDAI_String x );

  const SDAI_String   id_() const;
        SDAI_String   id_();
        void id_( const SDAI_String x );


    //  part 4
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiActivity_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiActivity_method_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiActivity_property_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiActivity_property_representation_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiApproval_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiApproval_assignment_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiAssigned_property_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiCalendar_date_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiCertification_assignment_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiClassification_assignment_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiContract_assignment_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiDate_or_date_time_assignment_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiDate_time_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiDocument_assignment_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiHierarchical_interface_connection_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiIdentification_assignment_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiIndependent_property_representation_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiInterface_connection_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiInterface_connector_occurrence_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiInterface_definition_connection_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiManaged_resource_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiOrganization_or_person_in_organization_assignment_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiProduct_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiProduct_as_individual_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiProduct_category_assignment_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiProduct_concept_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiProduct_definition_element_relationship_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiProduct_version_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiProduct_view_definition_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiProperty_representation_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiRepresentation_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiRequired_resource_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiResource_as_realized_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiResource_as_realized_relationship_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiResource_event_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiResource_property_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiResource_property_representation_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiState_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiState_definition_ptr& );
    SdaiCondition_evaluation_parameter_item& operator =( const SdaiView_definition_relationship_ptr& );
    // not in SDAI
    SdaiCondition_evaluation_parameter_item& ShallowCopy ( const SdaiCondition_evaluation_parameter_item& );

#ifdef COMPILER_DEFINES_OPERATOR_EQ
#else
    SdaiCondition_evaluation_parameter_item& operator =( SdaiCondition_evaluation_parameter_item * const & );
    SDAI_Select& operator =( const SDAI_Select& );
#endif

    //  part 5
    Logical IsActivity() const;
    Logical IsActivity_method() const;
    Logical IsActivity_property() const;
    Logical IsActivity_property_representation() const;
    Logical IsApproval() const;
    Logical IsApproval_assignment() const;
    Logical IsAssigned_property() const;
    Logical IsCalendar_date() const;
    Logical IsCertification_assignment() const;
    Logical IsClassification_assignment() const;
    Logical IsContract_assignment() const;
    Logical IsDate_or_date_time_assignment() const;
    Logical IsDate_time() const;
    Logical IsDocument_assignment() const;
    Logical IsHierarchical_interface_connection() const;
    Logical IsIdentification_assignment() const;
    Logical IsIndependent_property_representation() const;
    Logical IsInterface_connection() const;
    Logical IsInterface_connector_occurrence() const;
    Logical IsInterface_definition_connection() const;
    Logical IsManaged_resource() const;
    Logical IsOrganization_or_person_in_organization_assignment() const;
    Logical IsProduct() const;
    Logical IsProduct_as_individual() const;
    Logical IsProduct_category_assignment() const;
    Logical IsProduct_concept() const;
    Logical IsProduct_definition_element_relationship() const;
    Logical IsProduct_version() const;
    Logical IsProduct_view_definition() const;
    Logical IsProperty_representation() const;
    Logical IsRepresentation() const;
    Logical IsRequired_resource() const;
    Logical IsResource_as_realized() const;
    Logical IsResource_as_realized_relationship() const;
    Logical IsResource_event() const;
    Logical IsResource_property() const;
    Logical IsResource_property_representation() const;
    Logical IsState() const;
    Logical IsState_definition() const;
    Logical IsView_definition_relationship() const;

    //  part 6 ... UnderlyingTypeName () implemented in SDAI_Select class ...

    //  part 7 ... NONE    only for complex selects...
};

inline SDAI_Select * create_SdaiCondition_evaluation_parameter_item () { return new SdaiCondition_evaluation_parameter_item; }
typedef SdaiCondition_evaluation_parameter_item * SdaiCondition_evaluation_parameter_itemH;
typedef SdaiCondition_evaluation_parameter_item_ptr SdaiCondition_evaluation_parameter_item_var;


class SdaiCondition_evaluation_parameter_item_agg : public SelectAggregate {
  protected:
    SelectTypeDescriptor *sel_type;

  public:
    SdaiCondition_evaluation_parameter_item_agg( SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_condition_evaluation_parameter_item );
    ~SdaiCondition_evaluation_parameter_item_agg();
    virtual SingleLinkNode * NewNode()
     { return new SelectNode (new SdaiCondition_evaluation_parameter_item( sel_type )); }
};
inline STEPaggregate * create_SdaiCondition_evaluation_parameter_item_agg () { return new SdaiCondition_evaluation_parameter_item_agg; }
typedef SdaiCondition_evaluation_parameter_item_agg_ptr SdaiCondition_evaluation_parameter_item_agg_var;

/////  END SELECT TYPE condition_evaluation_parameter_item

void init_SdaiCondition_evaluation_parameter_item(Registry& reg);

#endif
