#ifndef  TYPE_SDAIDATE_OR_DATE_TIME_ITEM_H
#define  TYPE_SDAIDATE_OR_DATE_TIME_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 SdaiDate_or_date_time_item
class SC_SCHEMA_EXPORT SdaiDate_or_date_time_item  :  public SDAI_Select {
  protected:
    //  types in SELECT 
    //   ACTIVITY    --  sdaiINSTANCE
    //   ACTIVITY_METHOD    --  sdaiINSTANCE
    //   ACTIVITY_METHOD_ASSIGNMENT    --  sdaiINSTANCE
    //   ACTIVITY_METHOD_REALIZATION    --  sdaiINSTANCE
    //   ACTIVITY_METHOD_REALIZATION_RELATIONSHIP    --  sdaiINSTANCE
    //   ACTIVITY_METHOD_RELATIONSHIP    --  sdaiINSTANCE
    //   ACTIVITY_PROPERTY    --  sdaiINSTANCE
    //   ACTIVITY_PROPERTY_REPRESENTATION    --  sdaiINSTANCE
    //   ACTIVITY_RELATIONSHIP    --  sdaiINSTANCE
    //   ADDRESS_ASSIGNMENT    --  sdaiINSTANCE
    //   AFFECTED_ITEMS_ASSIGNMENT    --  sdaiINSTANCE
    //   ALIAS_IDENTIFICATION    --  sdaiINSTANCE
    //   ALTERNATE_PART_RELATIONSHIP    --  sdaiINSTANCE
    //   APPLIED_ACTIVITY_ASSIGNMENT    --  sdaiINSTANCE
    //   APPLIED_ACTIVITY_METHOD_ASSIGNMENT    --  sdaiINSTANCE
    //   APPLIED_INFORMATION_USAGE_RIGHT    --  sdaiINSTANCE
    //   APPLIED_STATE_ASSIGNMENT    --  sdaiINSTANCE
    //   APPLIED_STATE_DEFINITION_ASSIGNMENT    --  sdaiINSTANCE
    //   APPROVAL    --  sdaiINSTANCE
    //   ASSEMBLY_COMPONENT_RELATIONSHIP    --  sdaiINSTANCE
    //   ASSEMBLY_RELATIONSHIP_SUBSTITUTION    --  sdaiINSTANCE
    //   ASSIGNED_PROPERTY    --  sdaiINSTANCE
    //   ATTACHMENT_SLOT    --  sdaiINSTANCE
    //   ATTACHMENT_SLOT_DEFINITION    --  sdaiINSTANCE
    //   ATTACHMENT_SLOT_DESIGN_TO_PLANNED    --  sdaiINSTANCE
    //   ATTACHMENT_SLOT_DESIGN_TO_REALIZED    --  sdaiINSTANCE
    //   ATTACHMENT_SLOT_PLANNED_TO_REALIZED    --  sdaiINSTANCE
    //   ATTACHMENT_SLOT_VERSION    --  sdaiINSTANCE
    //   BREAKDOWN    --  sdaiINSTANCE
    //   BREAKDOWN_ELEMENT    --  sdaiINSTANCE
    //   BREAKDOWN_ELEMENT_REALIZATION    --  sdaiINSTANCE
    //   BREAKDOWN_ELEMENT_USAGE    --  sdaiINSTANCE
    //   BREAKDOWN_VERSION    --  sdaiINSTANCE
    //   CERTIFICATION    --  sdaiINSTANCE
    //   CERTIFICATION_ASSIGNMENT    --  sdaiINSTANCE
    //   CLASSIFICATION_ASSIGNMENT    --  sdaiINSTANCE
    //   CONDITION    --  sdaiINSTANCE
    //   CONDITION_ASSIGNMENT    --  sdaiINSTANCE
    //   CONDITION_EVALUATION    --  sdaiINSTANCE
    //   CONDITION_EVALUATION_ASSIGNMENT    --  sdaiINSTANCE
    //   CONTRACT    --  sdaiINSTANCE
    //   CONTRACT_ASSIGNMENT    --  sdaiINSTANCE
    //   DATE_OR_DATE_TIME_ASSIGNMENT    --  sdaiINSTANCE
    //   DESCRIPTIVE_DOCUMENT_PROPERTY    --  sdaiINSTANCE
    //   DIGITAL_DOCUMENT_DEFINITION    --  sdaiINSTANCE
    //   DIGITAL_FILE    --  sdaiINSTANCE
    //   DIRECTED_ACTIVITY    --  sdaiINSTANCE
    //   DOCUMENT    --  sdaiINSTANCE
    //   DOCUMENT_ASSIGNMENT    --  sdaiINSTANCE
    //   DOCUMENT_DEFINITION_RELATIONSHIP    --  sdaiINSTANCE
    //   DOCUMENT_VERSION    --  sdaiINSTANCE
    //   EFFECTIVITY    --  sdaiINSTANCE
    //   EFFECTIVITY_ASSIGNMENT    --  sdaiINSTANCE
    //   ENVELOPE    --  sdaiINSTANCE
    //   EVENT_ASSIGNMENT    --  sdaiINSTANCE
    //   EXPERIENCE_INSTANCE    --  sdaiINSTANCE
    //   HARDCOPY    --  sdaiINSTANCE
    //   HIERARCHICAL_INTERFACE_CONNECTION    --  sdaiINSTANCE
    //   IDENTIFICATION_ASSIGNMENT    --  sdaiINSTANCE
    //   INDEPENDENT_PROPERTY    --  sdaiINSTANCE
    //   INDEPENDENT_PROPERTY_RELATIONSHIP    --  sdaiINSTANCE
    //   INDEPENDENT_PROPERTY_REPRESENTATION    --  sdaiINSTANCE
    //   INFORMATION_USAGE_RIGHT    --  sdaiINSTANCE
    //   INTERFACE_CONNECTION    --  sdaiINSTANCE
    //   INTERFACE_CONNECTOR_AS_PLANNED    --  sdaiINSTANCE
    //   INTERFACE_CONNECTOR_AS_REALIZED    --  sdaiINSTANCE
    //   INTERFACE_CONNECTOR_DEFINITION    --  sdaiINSTANCE
    //   INTERFACE_CONNECTOR_DESIGN_TO_PLANNED    --  sdaiINSTANCE
    //   INTERFACE_CONNECTOR_DESIGN_TO_REALIZED    --  sdaiINSTANCE
    //   INTERFACE_CONNECTOR_OCCURRENCE    --  sdaiINSTANCE
    //   INTERFACE_CONNECTOR_PLANNED_TO_REALIZED    --  sdaiINSTANCE
    //   INTERFACE_CONNECTOR_VERSION    --  sdaiINSTANCE
    //   INTERFACE_DEFINITION_CONNECTION    --  sdaiINSTANCE
    //   INTERFACE_DEFINITION_FOR    --  sdaiINSTANCE
    //   INTERFACE_SPECIFICATION_DEFINITION    --  sdaiINSTANCE
    //   INTERFACE_SPECIFICATION_VERSION    --  sdaiINSTANCE
    //   JUSTIFICATION    --  sdaiINSTANCE
    //   JUSTIFICATION_ASSIGNMENT    --  sdaiINSTANCE
    //   JUSTIFICATION_RELATIONSHIP    --  sdaiINSTANCE
    //   JUSTIFICATION_SUPPORT_ASSIGNMENT    --  sdaiINSTANCE
    //   LOCATION_ASSIGNMENT    --  sdaiINSTANCE
    //   LOCATION_REPRESENTATION    --  sdaiINSTANCE
    //   MANAGED_RESOURCE    --  sdaiINSTANCE
    //   MANAGED_RESOURCE_RELATIONSHIP    --  sdaiINSTANCE
    //   MESSAGE    --  sdaiINSTANCE
    //   NUMERICAL_DOCUMENT_PROPERTY    --  sdaiINSTANCE
    //   OBSERVATION    --  sdaiINSTANCE
    //   ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT    --  sdaiINSTANCE
    //   ORGANIZATION_ORGANIZATION_TYPE_RELATIONSHIP    --  sdaiINSTANCE
    //   ORGANIZATION_RELATIONSHIP    --  sdaiINSTANCE
    //   PART    --  sdaiINSTANCE
    //   PART_VERSION    --  sdaiINSTANCE
    //   PART_VIEW_DEFINITION    --  sdaiINSTANCE
    //   PERSON    --  sdaiINSTANCE
    //   PERSON_IN_ORGANIZATION    --  sdaiINSTANCE
    //   PERSON_OR_ORGANIZATION_OR_PERSON_IN_ORGANIZATION_IN_POSITION    --  sdaiINSTANCE
    //   PERSON_OR_ORGANIZATION_OR_PERSON_IN_ORGANIZATION_IN_POSITION_RELATIONSHIP    --  sdaiINSTANCE
    //   PHYSICAL_DOCUMENT_DEFINITION    --  sdaiINSTANCE
    //   POSITION_ASSIGNMENT    --  sdaiINSTANCE
    //   POSITION_GROUP_ASSIGNMENT    --  sdaiINSTANCE
    //   POSITION_POSITION_TYPE_ASSIGNMENT    --  sdaiINSTANCE
    //   POSITION_TYPE_ASSIGNMENT    --  sdaiINSTANCE
    //   PRODUCT_AS_PLANNED    --  sdaiINSTANCE
    //   PRODUCT_AS_REALIZED    --  sdaiINSTANCE
    //   PRODUCT_CATEGORY_ASSIGNMENT    --  sdaiINSTANCE
    //   PRODUCT_CONCEPT    --  sdaiINSTANCE
    //   PRODUCT_CONFIGURATION    --  sdaiINSTANCE
    //   PRODUCT_DESIGN_TO_INDIVIDUAL    --  sdaiINSTANCE
    //   PRODUCT_DESIGN_VERSION_TO_INDIVIDUAL    --  sdaiINSTANCE
    //   PRODUCT_GROUP    --  sdaiINSTANCE
    //   PRODUCT_GROUP_MEMBERSHIP    --  sdaiINSTANCE
    //   PRODUCT_GROUP_RELATIONSHIP    --  sdaiINSTANCE
    //   PRODUCT_IN_ATTACHMENT_SLOT    --  sdaiINSTANCE
    //   PRODUCT_PLANNED_TO_REALIZED    --  sdaiINSTANCE
    //   PRODUCT_RELATIONSHIP    --  sdaiINSTANCE
    //   PRODUCT_VERSION    --  sdaiINSTANCE
    //   PRODUCT_VERSION_RELATIONSHIP    --  sdaiINSTANCE
    //   PRODUCT_VIEW_DEFINITION    --  sdaiINSTANCE
    //   PROJECT    --  sdaiINSTANCE
    //   PROJECT_ASSIGNMENT    --  sdaiINSTANCE
    //   PROPERTY_REPRESENTATION    --  sdaiINSTANCE
    //   QUALIFICATION_ASSIGNMENT    --  sdaiINSTANCE
    //   REPRESENTATION    --  sdaiINSTANCE
    //   REQUIRED_RESOURCE    --  sdaiINSTANCE
    //   REQUIRED_RESOURCE_ASSIGNMENT    --  sdaiINSTANCE
    //   REQUIREMENT    --  sdaiINSTANCE
    //   REQUIREMENT_ASSIGNMENT    --  sdaiINSTANCE
    //   REQUIREMENT_COLLECTION_RELATIONSHIP    --  sdaiINSTANCE
    //   REQUIREMENT_SOURCE    --  sdaiINSTANCE
    //   REQUIREMENT_VERSION    --  sdaiINSTANCE
    //   REQUIREMENT_VERSION_RELATIONSHIP    --  sdaiINSTANCE
    //   REQUIREMENT_VIEW_DEFINITION    --  sdaiINSTANCE
    //   RESOURCE_AS_REALIZED    --  sdaiINSTANCE
    //   RESOURCE_AS_REALIZED_ASSIGNMENT    --  sdaiINSTANCE
    //   RESOURCE_EVENT    --  sdaiINSTANCE
    //   RESOURCE_ITEM    --  sdaiINSTANCE
    //   RESOURCE_ITEM_ASSIGNMENT    --  sdaiINSTANCE
    //   RESOURCE_PROPERTY    --  sdaiINSTANCE
    //   RESOURCE_PROPERTY_REPRESENTATION    --  sdaiINSTANCE
    //   SCHEME_ENTRY    --  sdaiINSTANCE
    //   SECURITY_CLASSIFICATION    --  sdaiINSTANCE
    //   SECURITY_CLASSIFICATION_ASSIGNMENT    --  sdaiINSTANCE
    //   SELECTED_ITEM    --  sdaiINSTANCE
    //   SELECTED_ITEM_ASSIGNMENT    --  sdaiINSTANCE
    //   STATE    --  sdaiINSTANCE
    //   STATE_ASSERTION    --  sdaiINSTANCE
    //   STATE_ASSESSMENT    --  sdaiINSTANCE
    //   STATE_DEFINITION    --  sdaiINSTANCE
    //   STATE_DEFINITION_RELATIONSHIP    --  sdaiINSTANCE
    //   STATE_RELATIONSHIP    --  sdaiINSTANCE
    //   TASK_ELEMENT    --  sdaiINSTANCE
    //   TASK_ELEMENT_RELATIONSHIP    --  sdaiINSTANCE
    //   TASK_ELEMENT_STATE_RELATIONSHIP    --  sdaiINSTANCE
    //   TASK_METHOD    --  sdaiINSTANCE
    //   TASK_METHOD_ASSIGNMENT    --  sdaiINSTANCE
    //   TASK_METHOD_RELATIONSHIP    --  sdaiINSTANCE
    //   TASK_METHOD_STATE_RELATIONSHIP    --  sdaiINSTANCE
    //   TASK_METHOD_VERSION    --  sdaiINSTANCE
    //   TASK_METHOD_VERSION_ASSIGNMENT    --  sdaiINSTANCE
    //   TASK_METHOD_VERSION_RELATIONSHIP    --  sdaiINSTANCE
    //   TASK_OBJECTIVE    --  sdaiINSTANCE
    //   TASK_OBJECTIVE_STATE_RELATIONSHIP    --  sdaiINSTANCE
    //   TRACING_RELATIONSHIP    --  sdaiINSTANCE
    //   TYPE_OF_PERSON_ASSIGNMENT    --  sdaiINSTANCE
    //   VIEW_DEFINITION_CONTEXT    --  sdaiINSTANCE
    //   WORK_ORDER    --  sdaiINSTANCE
    //   WORK_OUTPUT    --  sdaiINSTANCE
    //   WORK_REQUEST    --  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
    SdaiDate_or_date_time_item( const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    //  part 1
    SdaiDate_or_date_time_item( const SdaiActivity_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiActivity_method_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiActivity_method_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiActivity_method_realization_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiActivity_method_realization_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiActivity_method_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiActivity_property_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiActivity_property_representation_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiActivity_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAddress_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAffected_items_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAlias_identification_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAlternate_part_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiApplied_activity_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiApplied_activity_method_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiApplied_information_usage_right_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiApplied_state_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiApplied_state_definition_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiApproval_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAssembly_component_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAssembly_relationship_substitution_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAssigned_property_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAttachment_slot_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAttachment_slot_definition_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAttachment_slot_design_to_planned_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAttachment_slot_design_to_realized_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAttachment_slot_planned_to_realized_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiAttachment_slot_version_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiBreakdown_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiBreakdown_element_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiBreakdown_element_realization_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiBreakdown_element_usage_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiBreakdown_version_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiCertification_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiCertification_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiClassification_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiCondition_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiCondition_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiCondition_evaluation_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiCondition_evaluation_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiContract_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiContract_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiDate_or_date_time_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiDescriptive_document_property_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiDigital_document_definition_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiDigital_file_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiDirected_activity_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiDocument_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiDocument_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiDocument_definition_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiDocument_version_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiEffectivity_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiEffectivity_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiEnvelope_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiEvent_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiExperience_instance_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiHardcopy_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiHierarchical_interface_connection_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiIdentification_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiIndependent_property_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiIndependent_property_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiIndependent_property_representation_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInformation_usage_right_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_connection_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_connector_as_planned_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_connector_as_realized_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_connector_definition_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_connector_design_to_planned_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_connector_design_to_realized_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_connector_occurrence_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_connector_planned_to_realized_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_connector_version_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_definition_connection_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_definition_for_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_specification_definition_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiInterface_specification_version_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiJustification_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiJustification_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiJustification_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiJustification_support_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiLocation_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiLocation_representation_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiManaged_resource_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiManaged_resource_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiMessage_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiNumerical_document_property_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiObservation_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiOrganization_or_person_in_organization_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiOrganization_organization_type_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiOrganization_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiPart_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiPart_version_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiPart_view_definition_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiPerson_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiPerson_in_organization_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiPerson_or_organization_or_person_in_organization_in_position_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiPerson_or_organization_or_person_in_organization_in_position_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiPhysical_document_definition_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiPosition_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiPosition_group_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiPosition_position_type_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiPosition_type_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_as_planned_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_as_realized_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_category_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_concept_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_configuration_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_design_to_individual_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_design_version_to_individual_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_group_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_group_membership_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_group_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_in_attachment_slot_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_planned_to_realized_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_version_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_version_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProduct_view_definition_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProject_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProject_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiProperty_representation_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiQualification_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiRepresentation_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiRequired_resource_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiRequired_resource_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiRequirement_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiRequirement_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiRequirement_collection_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiRequirement_source_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiRequirement_version_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiRequirement_version_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiRequirement_view_definition_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiResource_as_realized_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiResource_as_realized_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiResource_event_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiResource_item_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiResource_item_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiResource_property_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiResource_property_representation_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiScheme_entry_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiSecurity_classification_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiSecurity_classification_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiSelected_item_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiSelected_item_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiState_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiState_assertion_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiState_assessment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiState_definition_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiState_definition_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiState_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTask_element_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTask_element_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTask_element_state_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTask_method_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTask_method_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTask_method_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTask_method_state_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTask_method_version_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTask_method_version_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTask_method_version_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTask_objective_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTask_objective_state_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiTracing_relationship_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiType_of_person_assignment_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiView_definition_context_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiWork_order_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiWork_output_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    SdaiDate_or_date_time_item( const SdaiWork_request_ptr&,
                                const SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    virtual ~SdaiDate_or_date_time_item();

    //  part 2
    operator SdaiActivity_ptr();
    operator SdaiActivity_method_ptr();
    operator SdaiActivity_method_assignment_ptr();
    operator SdaiActivity_method_realization_ptr();
    operator SdaiActivity_method_realization_relationship_ptr();
    operator SdaiActivity_method_relationship_ptr();
    operator SdaiActivity_property_ptr();
    operator SdaiActivity_property_representation_ptr();
    operator SdaiActivity_relationship_ptr();
    operator SdaiAddress_assignment_ptr();
    operator SdaiAffected_items_assignment_ptr();
    operator SdaiAlias_identification_ptr();
    operator SdaiAlternate_part_relationship_ptr();
    operator SdaiApplied_activity_assignment_ptr();
    operator SdaiApplied_activity_method_assignment_ptr();
    operator SdaiApplied_information_usage_right_ptr();
    operator SdaiApplied_state_assignment_ptr();
    operator SdaiApplied_state_definition_assignment_ptr();
    operator SdaiApproval_ptr();
    operator SdaiAssembly_component_relationship_ptr();
    operator SdaiAssembly_relationship_substitution_ptr();
    operator SdaiAssigned_property_ptr();
    operator SdaiAttachment_slot_ptr();
    operator SdaiAttachment_slot_definition_ptr();
    operator SdaiAttachment_slot_design_to_planned_ptr();
    operator SdaiAttachment_slot_design_to_realized_ptr();
    operator SdaiAttachment_slot_planned_to_realized_ptr();
    operator SdaiAttachment_slot_version_ptr();
    operator SdaiBreakdown_ptr();
    operator SdaiBreakdown_element_ptr();
    operator SdaiBreakdown_element_realization_ptr();
    operator SdaiBreakdown_element_usage_ptr();
    operator SdaiBreakdown_version_ptr();
    operator SdaiCertification_ptr();
    operator SdaiCertification_assignment_ptr();
    operator SdaiClassification_assignment_ptr();
    operator SdaiCondition_ptr();
    operator SdaiCondition_assignment_ptr();
    operator SdaiCondition_evaluation_ptr();
    operator SdaiCondition_evaluation_assignment_ptr();
    operator SdaiContract_ptr();
    operator SdaiContract_assignment_ptr();
    operator SdaiDate_or_date_time_assignment_ptr();
    operator SdaiDescriptive_document_property_ptr();
    operator SdaiDigital_document_definition_ptr();
    operator SdaiDigital_file_ptr();
    operator SdaiDirected_activity_ptr();
    operator SdaiDocument_ptr();
    operator SdaiDocument_assignment_ptr();
    operator SdaiDocument_definition_relationship_ptr();
    operator SdaiDocument_version_ptr();
    operator SdaiEffectivity_ptr();
    operator SdaiEffectivity_assignment_ptr();
    operator SdaiEnvelope_ptr();
    operator SdaiEvent_assignment_ptr();
    operator SdaiExperience_instance_ptr();
    operator SdaiHardcopy_ptr();
    operator SdaiHierarchical_interface_connection_ptr();
    operator SdaiIdentification_assignment_ptr();
    operator SdaiIndependent_property_ptr();
    operator SdaiIndependent_property_relationship_ptr();
    operator SdaiIndependent_property_representation_ptr();
    operator SdaiInformation_usage_right_ptr();
    operator SdaiInterface_connection_ptr();
    operator SdaiInterface_connector_as_planned_ptr();
    operator SdaiInterface_connector_as_realized_ptr();
    operator SdaiInterface_connector_definition_ptr();
    operator SdaiInterface_connector_design_to_planned_ptr();
    operator SdaiInterface_connector_design_to_realized_ptr();
    operator SdaiInterface_connector_occurrence_ptr();
    operator SdaiInterface_connector_planned_to_realized_ptr();
    operator SdaiInterface_connector_version_ptr();
    operator SdaiInterface_definition_connection_ptr();
    operator SdaiInterface_definition_for_ptr();
    operator SdaiInterface_specification_definition_ptr();
    operator SdaiInterface_specification_version_ptr();
    operator SdaiJustification_ptr();
    operator SdaiJustification_assignment_ptr();
    operator SdaiJustification_relationship_ptr();
    operator SdaiJustification_support_assignment_ptr();
    operator SdaiLocation_assignment_ptr();
    operator SdaiLocation_representation_ptr();
    operator SdaiManaged_resource_ptr();
    operator SdaiManaged_resource_relationship_ptr();
    operator SdaiMessage_ptr();
    operator SdaiNumerical_document_property_ptr();
    operator SdaiObservation_ptr();
    operator SdaiOrganization_or_person_in_organization_assignment_ptr();
    operator SdaiOrganization_organization_type_relationship_ptr();
    operator SdaiOrganization_relationship_ptr();
    operator SdaiPart_ptr();
    operator SdaiPart_version_ptr();
    operator SdaiPart_view_definition_ptr();
    operator SdaiPerson_ptr();
    operator SdaiPerson_in_organization_ptr();
    operator SdaiPerson_or_organization_or_person_in_organization_in_position_ptr();
    operator SdaiPerson_or_organization_or_person_in_organization_in_position_relationship_ptr();
    operator SdaiPhysical_document_definition_ptr();
    operator SdaiPosition_assignment_ptr();
    operator SdaiPosition_group_assignment_ptr();
    operator SdaiPosition_position_type_assignment_ptr();
    operator SdaiPosition_type_assignment_ptr();
    operator SdaiProduct_as_planned_ptr();
    operator SdaiProduct_as_realized_ptr();
    operator SdaiProduct_category_assignment_ptr();
    operator SdaiProduct_concept_ptr();
    operator SdaiProduct_configuration_ptr();
    operator SdaiProduct_design_to_individual_ptr();
    operator SdaiProduct_design_version_to_individual_ptr();
    operator SdaiProduct_group_ptr();
    operator SdaiProduct_group_membership_ptr();
    operator SdaiProduct_group_relationship_ptr();
    operator SdaiProduct_in_attachment_slot_ptr();
    operator SdaiProduct_planned_to_realized_ptr();
    operator SdaiProduct_relationship_ptr();
    operator SdaiProduct_version_ptr();
    operator SdaiProduct_version_relationship_ptr();
    operator SdaiProduct_view_definition_ptr();
    operator SdaiProject_ptr();
    operator SdaiProject_assignment_ptr();
    operator SdaiProperty_representation_ptr();
    operator SdaiQualification_assignment_ptr();
    operator SdaiRepresentation_ptr();
    operator SdaiRequired_resource_ptr();
    operator SdaiRequired_resource_assignment_ptr();
    operator SdaiRequirement_ptr();
    operator SdaiRequirement_assignment_ptr();
    operator SdaiRequirement_collection_relationship_ptr();
    operator SdaiRequirement_source_ptr();
    operator SdaiRequirement_version_ptr();
    operator SdaiRequirement_version_relationship_ptr();
    operator SdaiRequirement_view_definition_ptr();
    operator SdaiResource_as_realized_ptr();
    operator SdaiResource_as_realized_assignment_ptr();
    operator SdaiResource_event_ptr();
    operator SdaiResource_item_ptr();
    operator SdaiResource_item_assignment_ptr();
    operator SdaiResource_property_ptr();
    operator SdaiResource_property_representation_ptr();
    operator SdaiScheme_entry_ptr();
    operator SdaiSecurity_classification_ptr();
    operator SdaiSecurity_classification_assignment_ptr();
    operator SdaiSelected_item_ptr();
    operator SdaiSelected_item_assignment_ptr();
    operator SdaiState_ptr();
    operator SdaiState_assertion_ptr();
    operator SdaiState_assessment_ptr();
    operator SdaiState_definition_ptr();
    operator SdaiState_definition_relationship_ptr();
    operator SdaiState_relationship_ptr();
    operator SdaiTask_element_ptr();
    operator SdaiTask_element_relationship_ptr();
    operator SdaiTask_element_state_relationship_ptr();
    operator SdaiTask_method_ptr();
    operator SdaiTask_method_assignment_ptr();
    operator SdaiTask_method_relationship_ptr();
    operator SdaiTask_method_state_relationship_ptr();
    operator SdaiTask_method_version_ptr();
    operator SdaiTask_method_version_assignment_ptr();
    operator SdaiTask_method_version_relationship_ptr();
    operator SdaiTask_objective_ptr();
    operator SdaiTask_objective_state_relationship_ptr();
    operator SdaiTracing_relationship_ptr();
    operator SdaiType_of_person_assignment_ptr();
    operator SdaiView_definition_context_ptr();
    operator SdaiWork_order_ptr();
    operator SdaiWork_output_ptr();
    operator SdaiWork_request_ptr();

    //  part 3
  const SDAI_String   version_id_() const;
        SDAI_String   version_id_();
        void version_id_( const SDAI_String x );

  const SDAI_String   request_id_() const;
        SDAI_String   request_id_();
        void request_id_( const SDAI_String x );

        SdaiWork_output_item_ptr_c output_item_() const;
        SdaiWork_output_item_ptr   output_item_();
        void output_item_( const SdaiWork_output_item_ptr x );

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

  const SDAI_String   life_cycle_stage_() const;
        SDAI_String   life_cycle_stage_();
        void life_cycle_stage_( const SDAI_String x );

  const SDAI_String   application_domain_() const;
        SDAI_String   application_domain_();
        void application_domain_( const SDAI_String x );

        SdaiType_of_person_ptr_c assigned_type_of_person_() const;
        SdaiType_of_person_ptr   assigned_type_of_person_();
        void assigned_type_of_person_( const SdaiType_of_person_ptr x );

        SdaiTask_objective_ptr_c task_objective_() const;
        SdaiTask_objective_ptr   task_objective_();
        void task_objective_( const SdaiTask_objective_ptr x );

        SdaiTask_method_ptr_c of_task_method_() const;
        SdaiTask_method_ptr   of_task_method_();
        void of_task_method_( const SdaiTask_method_ptr x );

        SdaiTask_element_ptr_c content_() const;
        SdaiTask_element_ptr   content_();
        void content_( const SdaiTask_element_ptr x );

        SdaiTask_method_version_ptr_c task_method_() const;
        SdaiTask_method_version_ptr   task_method_();
        void task_method_( const SdaiTask_method_version_ptr x );

        SdaiTask_item_agg_ptr_c applied_activity_method_assignment_items_() const;
        SdaiTask_item_agg_ptr   applied_activity_method_assignment_items_();
        void applied_activity_method_assignment_items_( const SdaiTask_item_agg_ptr x );

        SdaiTask_method_ptr_c applied_activity_method_assignment_assigned_activity_method_() const;
        SdaiTask_method_ptr   applied_activity_method_assignment_assigned_activity_method_();
        void applied_activity_method_assignment_assigned_activity_method_( const SdaiTask_method_ptr x );

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

        SdaiTask_element_ptr_c task_element_() const;
        SdaiTask_element_ptr   task_element_();
        void task_element_( const SdaiTask_element_ptr x );

        SdaiState_or_state_definition_select_ptr_c state_() const;
        SdaiState_or_state_definition_select_ptr   state_();
        void state_( const SdaiState_or_state_definition_select_ptr x );

        SdaiTask_element_ptr_c activity_method_relationship_related_method_() const;
        SdaiTask_element_ptr   activity_method_relationship_related_method_();
        void activity_method_relationship_related_method_( const SdaiTask_element_ptr x );

        SdaiTask_element_ptr_c activity_method_relationship_relating_method_() const;
        SdaiTask_element_ptr   activity_method_relationship_relating_method_();
        void activity_method_relationship_relating_method_( const SdaiTask_element_ptr x );

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

        SdaiState_definition_ptr_c comparable_state_() const;
        SdaiState_definition_ptr   comparable_state_();
        void comparable_state_( const SdaiState_definition_ptr x );

        SdaiState_ptr_c assessed_state_() const;
        SdaiState_ptr   assessed_state_();
        void assessed_state_( const SdaiState_ptr x );

        SdaiState_definition_ptr_c conformance_state_() const;
        SdaiState_definition_ptr   conformance_state_();
        void conformance_state_( const SdaiState_definition_ptr x );

        SdaiState_ptr_c asserted_state_() const;
        SdaiState_ptr   asserted_state_();
        void asserted_state_( const SdaiState_ptr x );

        SdaiSecurity_classification_ptr_c classification_() const;
        SdaiSecurity_classification_ptr   classification_();
        void classification_( const SdaiSecurity_classification_ptr x );

  const SDAI_String   classification_level_() const;
        SDAI_String   classification_level_();
        void classification_level_( const SDAI_String x );

        SdaiScheme_version_ptr_c scheme_() const;
        SdaiScheme_version_ptr   scheme_();
        void scheme_( const SdaiScheme_version_ptr x );

        SdaiResource_item_select_agg_ptr_c resource_items_() const;
        SdaiResource_item_select_agg_ptr   resource_items_();
        void resource_items_( const SdaiResource_item_select_agg_ptr x );

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

        SdaiRequirement_version_ptr_c product_version_relationship_related_version_() const;
        SdaiRequirement_version_ptr   product_version_relationship_related_version_();
        void product_version_relationship_related_version_( const SdaiRequirement_version_ptr x );

        SdaiRequirement_version_ptr_c product_version_relationship_relating_version_() const;
        SdaiRequirement_version_ptr   product_version_relationship_relating_version_();
        void product_version_relationship_relating_version_( const SdaiRequirement_version_ptr x );

        SdaiRequirement_view_definition_ptr_c sourced_requirement_() const;
        SdaiRequirement_view_definition_ptr   sourced_requirement_();
        void sourced_requirement_( const SdaiRequirement_view_definition_ptr x );

        SdaiRequirement_source_item_ptr_c source_() const;
        SdaiRequirement_source_item_ptr   source_();
        void source_( const SdaiRequirement_source_item_ptr x );

        SdaiRequirement_view_definition_ptr_c assigned_requirement_() const;
        SdaiRequirement_view_definition_ptr   assigned_requirement_();
        void assigned_requirement_( const SdaiRequirement_view_definition_ptr x );

        SdaiRequired_resource_ptr_c assigned_resource_() const;
        SdaiRequired_resource_ptr   assigned_resource_();
        void assigned_resource_( const SdaiRequired_resource_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 );

        SdaiQualifications_select_ptr_c received_by_() const;
        SdaiQualifications_select_ptr   received_by_();
        void received_by_( const SdaiQualifications_select_ptr x );

        SdaiQualification_type_ptr_c assigned_qualification_type_() const;
        SdaiQualification_type_ptr   assigned_qualification_type_();
        void assigned_qualification_type_( const SdaiQualification_type_ptr x );

        SdaiProject_ptr_c assigned_project_() const;
        SdaiProject_ptr   assigned_project_();
        void assigned_project_( const SdaiProject_ptr x );

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

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

        SdaiDate_or_event_ptr_c planned_end_date_() const;
        SdaiDate_or_event_ptr   planned_end_date_();
        void planned_end_date_( const SdaiDate_or_event_ptr x );

        SdaiDate_or_event_ptr_c planned_start_date_() const;
        SdaiDate_or_event_ptr   planned_start_date_();
        void planned_start_date_( const SdaiDate_or_event_ptr x );

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

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

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

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

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

        SdaiProduct_as_realized_ptr_c realized_product_() const;
        SdaiProduct_as_realized_ptr   realized_product_();
        void realized_product_( const SdaiProduct_as_realized_ptr x );

        SdaiProduct_as_planned_ptr_c planned_product_() const;
        SdaiProduct_as_planned_ptr   planned_product_();
        void planned_product_( const SdaiProduct_as_planned_ptr x );

        SdaiProduct_group_ptr_c of_group_() const;
        SdaiProduct_group_ptr   of_group_();
        void of_group_( const SdaiProduct_group_ptr x );

        SdaiProduct_select_ptr_c member_() const;
        SdaiProduct_select_ptr   member_();
        void member_( const SdaiProduct_select_ptr x );

  const SDAI_String   product_group_context_() const;
        SDAI_String   product_group_context_();
        void product_group_context_( const SDAI_String x );

  const SDAI_String   membership_rule_() const;
        SDAI_String   membership_rule_();
        void membership_rule_( const SDAI_String x );

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

        SdaiProduct_as_individual_ptr_c individual_product_() const;
        SdaiProduct_as_individual_ptr   individual_product_();
        void individual_product_( const SdaiProduct_as_individual_ptr x );

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

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

        SdaiProduct_concept_ptr_c item_context_() const;
        SdaiProduct_concept_ptr   item_context_();
        void item_context_( const SdaiProduct_concept_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 );

        SdaiPosition_type_ptr_c position_type_() const;
        SdaiPosition_type_ptr   position_type_();
        void position_type_( const SdaiPosition_type_ptr x );

        SdaiPosition_type_ptr_c assigned_position_type_() const;
        SdaiPosition_type_ptr   assigned_position_type_();
        void assigned_position_type_( const SdaiPosition_type_ptr x );

        SdaiPosition_group_ptr_c position_group_() const;
        SdaiPosition_group_ptr   position_group_();
        void position_group_( const SdaiPosition_group_ptr x );

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

        SdaiPosition_ptr_c position_() const;
        SdaiPosition_ptr   position_();
        void position_( const SdaiPosition_ptr x );

        SdaiPosition_person_or_organization_or_person_in_organization_select_ptr_c person_or_organization_() const;
        SdaiPosition_person_or_organization_or_person_in_organization_select_ptr   person_or_organization_();
        void person_or_organization_( const SdaiPosition_person_or_organization_or_person_in_organization_select_ptr x );

        SdaiOrganization_ptr_c containing_organization_() const;
        SdaiOrganization_ptr   containing_organization_();
        void containing_organization_( const SdaiOrganization_ptr x );

        SdaiPerson_ptr_c concerned_person_() const;
        SdaiPerson_ptr   concerned_person_();
        void concerned_person_( const SdaiPerson_ptr x );

        StringAggregate_ptr_c suffix_titles_() const;
        StringAggregate_ptr   suffix_titles_();
        void suffix_titles_( const StringAggregate_ptr x );

        StringAggregate_ptr_c prefix_titles_() const;
        StringAggregate_ptr   prefix_titles_();
        void prefix_titles_( const StringAggregate_ptr x );

        StringAggregate_ptr_c middle_names_() const;
        StringAggregate_ptr   middle_names_();
        void middle_names_( const StringAggregate_ptr x );

  const SDAI_String   first_name_() const;
        SDAI_String   first_name_();
        void first_name_( const SDAI_String x );

  const SDAI_String   last_name_() const;
        SDAI_String   last_name_();
        void last_name_( const SDAI_String x );

        SdaiOrganization_ptr_c related_organization_() const;
        SdaiOrganization_ptr   related_organization_();
        void related_organization_( const SdaiOrganization_ptr x );

        SdaiOrganization_ptr_c relating_organization_() const;
        SdaiOrganization_ptr   relating_organization_();
        void relating_organization_( const SdaiOrganization_ptr x );

        SdaiOrganization_type_ptr_c organization_type_() const;
        SdaiOrganization_type_ptr   organization_type_();
        void organization_type_( const SdaiOrganization_type_ptr x );

        SdaiOrganization_ptr_c organization_() const;
        SdaiOrganization_ptr   organization_();
        void organization_( const SdaiOrganization_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 );

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

        SdaiActivity_actual_ptr_c observed_during_() const;
        SdaiActivity_actual_ptr   observed_during_();
        void observed_during_( const SdaiActivity_actual_ptr x );

        SdaiObservation_recorder_agg_ptr_c observed_by_() const;
        SdaiObservation_recorder_agg_ptr   observed_by_();
        void observed_by_( const SdaiObservation_recorder_agg_ptr x );

        SdaiObserved_context_agg_ptr_c in_context_() const;
        SdaiObserved_context_agg_ptr   in_context_();
        void in_context_( const SdaiObserved_context_agg_ptr x );

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

        SdaiMeasure_value_ptr_c value_component_() const;
        SdaiMeasure_value_ptr   value_component_();
        void value_component_( const SdaiMeasure_value_ptr x );

        SdaiUnit_ptr_c unit_() const;
        SdaiUnit_ptr   unit_();
        void unit_( const SdaiUnit_ptr x );

        SdaiMessage_definer_select_agg_ptr_c defined_by_() const;
        SdaiMessage_definer_select_agg_ptr   defined_by_();
        void defined_by_( const SdaiMessage_definer_select_agg_ptr x );

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

  const SDAI_String   message_type_() const;
        SDAI_String   message_type_();
        void message_type_( const SDAI_String x );

        SdaiLocation_ptr_c location_for_assignment_() const;
        SdaiLocation_ptr   location_for_assignment_();
        void location_for_assignment_( const SdaiLocation_ptr x );

        SdaiLocation_assignment_select_ptr_c entity_for_location_() const;
        SdaiLocation_assignment_select_ptr   entity_for_location_();
        void entity_for_location_( const SdaiLocation_assignment_select_ptr x );

        SdaiJustification_support_item_ptr_c support_item_() const;
        SdaiJustification_support_item_ptr   support_item_();
        void support_item_( const SdaiJustification_support_item_ptr x );

        SdaiJustification_ptr_c related_justification_() const;
        SdaiJustification_ptr   related_justification_();
        void related_justification_( const SdaiJustification_ptr x );

        SdaiJustification_ptr_c relating_justification_() const;
        SdaiJustification_ptr   relating_justification_();
        void relating_justification_( const SdaiJustification_ptr x );

        SdaiJustification_ptr_c justification_() const;
        SdaiJustification_ptr   justification_();
        void justification_( const SdaiJustification_ptr x );

  const SDAI_String   context_description_() const;
        SDAI_String   context_description_();
        void context_description_( const SDAI_String x );

        SdaiInterface_definition_item_ptr_c interface_component_() const;
        SdaiInterface_definition_item_ptr   interface_component_();
        void interface_component_( const SdaiInterface_definition_item_ptr x );

        SdaiInterface_specification_definition_ptr_c interface_() const;
        SdaiInterface_specification_definition_ptr   interface_();
        void interface_( const SdaiInterface_specification_definition_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 );

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

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

  const SDAI_String   comment_() const;
        SDAI_String   comment_();
        void comment_( const SDAI_String x );

  const SDAI_String   property_type_() const;
        SDAI_String   property_type_();
        void property_type_( 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 );

        SdaiDefined_activities_ptr_c consists_of_() const;
        SdaiDefined_activities_ptr   consists_of_();
        void consists_of_( const SdaiDefined_activities_ptr x );

        SdaiExperience_type_ptr_c is_defined_by_() const;
        SdaiExperience_type_ptr   is_defined_by_();
        void is_defined_by_( const SdaiExperience_type_ptr x );

        SdaiEvent_ptr_c assigned_event_() const;
        SdaiEvent_ptr   assigned_event_();
        void assigned_event_( const SdaiEvent_ptr x );

        SdaiMessage_ptr_c wrapping_() const;
        SdaiMessage_ptr   wrapping_();
        void wrapping_( const SdaiMessage_ptr x );

  const SDAI_String   acknowledge_() const;
        SDAI_String   acknowledge_();
        void acknowledge_( const SDAI_String x );

        SdaiEffectivity_ptr_c assigned_effectivity_() const;
        SdaiEffectivity_ptr   assigned_effectivity_();
        void assigned_effectivity_( const SdaiEffectivity_ptr x );

        SdaiDocument_definition_ptr_c related_document_definition_() const;
        SdaiDocument_definition_ptr   related_document_definition_();
        void related_document_definition_( const SdaiDocument_definition_ptr x );

        SdaiDocument_definition_ptr_c relating_document_definition_() const;
        SdaiDocument_definition_ptr   relating_document_definition_();
        void relating_document_definition_( const SdaiDocument_definition_ptr 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 );

        SdaiWork_order_ptr_c directive_() const;
        SdaiWork_order_ptr   directive_();
        void directive_( const SdaiWork_order_ptr x );

  const SDAI_String   contained_data_type_() const;
        SDAI_String   contained_data_type_();
        void contained_data_type_( const SDAI_String x );

  const SDAI_String   version_() const;
        SDAI_String   version_();
        void version_( const SDAI_String x );

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

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

  const SDAI_String   string_value_() const;
        SDAI_String   string_value_();
        void string_value_( const SDAI_String 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 );

        SdaiCondition_evaluation_ptr_c assigned_condition_evaluation_() const;
        SdaiCondition_evaluation_ptr   assigned_condition_evaluation_();
        void assigned_condition_evaluation_( const SdaiCondition_evaluation_ptr x );

        SdaiCondition_ptr_c condition_() const;
        SdaiCondition_ptr   condition_();
        void condition_( const SdaiCondition_ptr x );

        Logical   result_() const;
        void result_( const Logical x );

        SdaiCondition_ptr_c assigned_condition_() const;
        SdaiCondition_ptr   assigned_condition_();
        void assigned_condition_( const SdaiCondition_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 );

  const SDAI_String   kind_() const;
        SDAI_String   kind_();
        void kind_( const SDAI_String x );

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

        SdaiBreakdown_element_definition_ptr_c view_definition_relationship_related_view_() const;
        SdaiBreakdown_element_definition_ptr   view_definition_relationship_related_view_();
        void view_definition_relationship_related_view_( const SdaiBreakdown_element_definition_ptr x );

        SdaiBreakdown_element_definition_ptr_c view_definition_relationship_relating_view_() const;
        SdaiBreakdown_element_definition_ptr   view_definition_relationship_relating_view_();
        void view_definition_relationship_relating_view_( const SdaiBreakdown_element_definition_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 );

        SdaiAttachment_slot_ptr_c product_version_of_product_() const;
        SdaiAttachment_slot_ptr   product_version_of_product_();
        void product_version_of_product_( const SdaiAttachment_slot_ptr x );

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

        SdaiAttachment_slot_as_realized_ptr_c realized_() const;
        SdaiAttachment_slot_as_realized_ptr   realized_();
        void realized_( const SdaiAttachment_slot_as_realized_ptr x );

        SdaiAttachment_slot_as_planned_ptr_c planned_() const;
        SdaiAttachment_slot_as_planned_ptr   planned_();
        void planned_( const SdaiAttachment_slot_as_planned_ptr x );

        SdaiAttachment_slot_design_ptr_c design_() const;
        SdaiAttachment_slot_design_ptr   design_();
        void design_( const SdaiAttachment_slot_design_ptr x );

        SdaiAttachment_slot_version_ptr_c product_view_definition_defined_version_() const;
        SdaiAttachment_slot_version_ptr   product_view_definition_defined_version_();
        void product_view_definition_defined_version_( const SdaiAttachment_slot_version_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 );

        SdaiAssembly_component_relationship_ptr_c substitute_relationship_() const;
        SdaiAssembly_component_relationship_ptr   substitute_relationship_();
        void substitute_relationship_( const SdaiAssembly_component_relationship_ptr x );

        SdaiAssembly_component_relationship_ptr_c base_relationship_() const;
        SdaiAssembly_component_relationship_ptr   base_relationship_();
        void base_relationship_( const SdaiAssembly_component_relationship_ptr x );

  const SDAI_String   location_indicator_() const;
        SDAI_String   location_indicator_();
        void location_indicator_( const SDAI_String x );

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

        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 );

        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 );

        SdaiState_definition_ptr_c described_state_definition_() const;
        SdaiState_definition_ptr   described_state_definition_();
        void described_state_definition_( const SdaiState_definition_ptr x );

        SdaiState_of_item_ptr_c assigned_to_() const;
        SdaiState_of_item_ptr   assigned_to_();
        void assigned_to_( const SdaiState_of_item_ptr x );

        SdaiState_ptr_c described_state_() const;
        SdaiState_ptr   described_state_();
        void described_state_( const SdaiState_ptr x );

        SdaiInformation_usage_right_ptr_c right_applied_() const;
        SdaiInformation_usage_right_ptr   right_applied_();
        void right_applied_( const SdaiInformation_usage_right_ptr x );

        SdaiInformation_usage_right_item_agg_ptr_c item_() const;
        SdaiInformation_usage_right_item_agg_ptr   item_();
        void item_( const SdaiInformation_usage_right_item_agg_ptr x );

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

        SdaiActivity_ptr_c assigned_activity_() const;
        SdaiActivity_ptr   assigned_activity_();
        void assigned_activity_( const SdaiActivity_ptr x );

        SdaiPart_ptr_c alternate_product_relationship_base_product_() const;
        SdaiPart_ptr   alternate_product_relationship_base_product_();
        void alternate_product_relationship_base_product_( const SdaiPart_ptr x );

        SdaiPart_ptr_c alternate_product_relationship_alternate_product_() const;
        SdaiPart_ptr   alternate_product_relationship_alternate_product_();
        void alternate_product_relationship_alternate_product_( const SdaiPart_ptr x );

  const SDAI_String   criteria_() const;
        SDAI_String   criteria_();
        void criteria_( const SDAI_String x );

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

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

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

        SdaiAffected_item_select_agg_ptr_c items_() const;
        SdaiAffected_item_select_agg_ptr   items_();
        void items_( const SdaiAffected_item_select_agg_ptr x );

        SdaiWork_request_ptr_c assigned_work_request_() const;
        SdaiWork_request_ptr   assigned_work_request_();
        void assigned_work_request_( const SdaiWork_request_ptr x );

        SdaiOrganization_or_person_in_organization_select_agg_ptr_c located_person_organizations_() const;
        SdaiOrganization_or_person_in_organization_select_agg_ptr   located_person_organizations_();
        void located_person_organizations_( const SdaiOrganization_or_person_in_organization_select_agg_ptr x );

        SdaiAddress_ptr_c assigned_address_() const;
        SdaiAddress_ptr   assigned_address_();
        void assigned_address_( const SdaiAddress_ptr x );

  const SDAI_String   address_type_() const;
        SDAI_String   address_type_();
        void address_type_( const SDAI_String x );

        SdaiActivity_ptr_c related_activity_() const;
        SdaiActivity_ptr   related_activity_();
        void related_activity_( const SdaiActivity_ptr x );

        SdaiActivity_ptr_c relating_activity_() const;
        SdaiActivity_ptr   relating_activity_();
        void relating_activity_( const SdaiActivity_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 );

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

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

        SdaiActivity_method_realization_ptr_c related_() const;
        SdaiActivity_method_realization_ptr   related_();
        void related_( const SdaiActivity_method_realization_ptr x );

        SdaiActivity_method_realization_ptr_c relating_() const;
        SdaiActivity_method_realization_ptr   relating_();
        void relating_( const SdaiActivity_method_realization_ptr x );

        SdaiActivity_realization_select_ptr_c realized_by_() const;
        SdaiActivity_realization_select_ptr   realized_by_();
        void realized_by_( const SdaiActivity_realization_select_ptr x );

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

        SdaiWork_request_ptr_c associated_request_() const;
        SdaiWork_request_ptr   associated_request_();
        void associated_request_( const SdaiWork_request_ptr x );

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

  const SDAI_String   relation_type_() const;
        SDAI_String   relation_type_();
        void relation_type_( const SDAI_String 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
    SdaiDate_or_date_time_item& operator =( const SdaiActivity_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiActivity_method_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiActivity_method_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiActivity_method_realization_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiActivity_method_realization_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiActivity_method_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiActivity_property_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiActivity_property_representation_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiActivity_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAddress_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAffected_items_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAlias_identification_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAlternate_part_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiApplied_activity_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiApplied_activity_method_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiApplied_information_usage_right_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiApplied_state_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiApplied_state_definition_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiApproval_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAssembly_component_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAssembly_relationship_substitution_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAssigned_property_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAttachment_slot_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAttachment_slot_definition_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAttachment_slot_design_to_planned_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAttachment_slot_design_to_realized_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAttachment_slot_planned_to_realized_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiAttachment_slot_version_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiBreakdown_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiBreakdown_element_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiBreakdown_element_realization_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiBreakdown_element_usage_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiBreakdown_version_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiCertification_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiCertification_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiClassification_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiCondition_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiCondition_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiCondition_evaluation_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiCondition_evaluation_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiContract_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiContract_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiDate_or_date_time_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiDescriptive_document_property_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiDigital_document_definition_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiDigital_file_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiDirected_activity_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiDocument_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiDocument_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiDocument_definition_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiDocument_version_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiEffectivity_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiEffectivity_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiEnvelope_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiEvent_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiExperience_instance_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiHardcopy_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiHierarchical_interface_connection_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiIdentification_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiIndependent_property_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiIndependent_property_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiIndependent_property_representation_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInformation_usage_right_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_connection_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_connector_as_planned_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_connector_as_realized_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_connector_definition_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_connector_design_to_planned_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_connector_design_to_realized_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_connector_occurrence_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_connector_planned_to_realized_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_connector_version_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_definition_connection_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_definition_for_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_specification_definition_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiInterface_specification_version_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiJustification_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiJustification_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiJustification_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiJustification_support_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiLocation_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiLocation_representation_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiManaged_resource_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiManaged_resource_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiMessage_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiNumerical_document_property_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiObservation_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiOrganization_or_person_in_organization_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiOrganization_organization_type_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiOrganization_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiPart_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiPart_version_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiPart_view_definition_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiPerson_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiPerson_in_organization_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiPerson_or_organization_or_person_in_organization_in_position_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiPerson_or_organization_or_person_in_organization_in_position_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiPhysical_document_definition_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiPosition_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiPosition_group_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiPosition_position_type_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiPosition_type_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_as_planned_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_as_realized_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_category_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_concept_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_configuration_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_design_to_individual_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_design_version_to_individual_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_group_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_group_membership_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_group_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_in_attachment_slot_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_planned_to_realized_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_version_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_version_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProduct_view_definition_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProject_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProject_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiProperty_representation_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiQualification_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiRepresentation_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiRequired_resource_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiRequired_resource_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiRequirement_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiRequirement_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiRequirement_collection_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiRequirement_source_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiRequirement_version_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiRequirement_version_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiRequirement_view_definition_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiResource_as_realized_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiResource_as_realized_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiResource_event_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiResource_item_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiResource_item_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiResource_property_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiResource_property_representation_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiScheme_entry_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiSecurity_classification_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiSecurity_classification_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiSelected_item_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiSelected_item_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiState_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiState_assertion_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiState_assessment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiState_definition_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiState_definition_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiState_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTask_element_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTask_element_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTask_element_state_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTask_method_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTask_method_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTask_method_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTask_method_state_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTask_method_version_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTask_method_version_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTask_method_version_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTask_objective_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTask_objective_state_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiTracing_relationship_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiType_of_person_assignment_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiView_definition_context_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiWork_order_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiWork_output_ptr& );
    SdaiDate_or_date_time_item& operator =( const SdaiWork_request_ptr& );
    // not in SDAI
    SdaiDate_or_date_time_item& ShallowCopy ( const SdaiDate_or_date_time_item& );

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

    //  part 5
    Logical IsActivity() const;
    Logical IsActivity_method() const;
    Logical IsActivity_method_assignment() const;
    Logical IsActivity_method_realization() const;
    Logical IsActivity_method_realization_relationship() const;
    Logical IsActivity_method_relationship() const;
    Logical IsActivity_property() const;
    Logical IsActivity_property_representation() const;
    Logical IsActivity_relationship() const;
    Logical IsAddress_assignment() const;
    Logical IsAffected_items_assignment() const;
    Logical IsAlias_identification() const;
    Logical IsAlternate_part_relationship() const;
    Logical IsApplied_activity_assignment() const;
    Logical IsApplied_activity_method_assignment() const;
    Logical IsApplied_information_usage_right() const;
    Logical IsApplied_state_assignment() const;
    Logical IsApplied_state_definition_assignment() const;
    Logical IsApproval() const;
    Logical IsAssembly_component_relationship() const;
    Logical IsAssembly_relationship_substitution() const;
    Logical IsAssigned_property() const;
    Logical IsAttachment_slot() const;
    Logical IsAttachment_slot_definition() const;
    Logical IsAttachment_slot_design_to_planned() const;
    Logical IsAttachment_slot_design_to_realized() const;
    Logical IsAttachment_slot_planned_to_realized() const;
    Logical IsAttachment_slot_version() const;
    Logical IsBreakdown() const;
    Logical IsBreakdown_element() const;
    Logical IsBreakdown_element_realization() const;
    Logical IsBreakdown_element_usage() const;
    Logical IsBreakdown_version() const;
    Logical IsCertification() const;
    Logical IsCertification_assignment() const;
    Logical IsClassification_assignment() const;
    Logical IsCondition() const;
    Logical IsCondition_assignment() const;
    Logical IsCondition_evaluation() const;
    Logical IsCondition_evaluation_assignment() const;
    Logical IsContract() const;
    Logical IsContract_assignment() const;
    Logical IsDate_or_date_time_assignment() const;
    Logical IsDescriptive_document_property() const;
    Logical IsDigital_document_definition() const;
    Logical IsDigital_file() const;
    Logical IsDirected_activity() const;
    Logical IsDocument() const;
    Logical IsDocument_assignment() const;
    Logical IsDocument_definition_relationship() const;
    Logical IsDocument_version() const;
    Logical IsEffectivity() const;
    Logical IsEffectivity_assignment() const;
    Logical IsEnvelope() const;
    Logical IsEvent_assignment() const;
    Logical IsExperience_instance() const;
    Logical IsHardcopy() const;
    Logical IsHierarchical_interface_connection() const;
    Logical IsIdentification_assignment() const;
    Logical IsIndependent_property() const;
    Logical IsIndependent_property_relationship() const;
    Logical IsIndependent_property_representation() const;
    Logical IsInformation_usage_right() const;
    Logical IsInterface_connection() const;
    Logical IsInterface_connector_as_planned() const;
    Logical IsInterface_connector_as_realized() const;
    Logical IsInterface_connector_definition() const;
    Logical IsInterface_connector_design_to_planned() const;
    Logical IsInterface_connector_design_to_realized() const;
    Logical IsInterface_connector_occurrence() const;
    Logical IsInterface_connector_planned_to_realized() const;
    Logical IsInterface_connector_version() const;
    Logical IsInterface_definition_connection() const;
    Logical IsInterface_definition_for() const;
    Logical IsInterface_specification_definition() const;
    Logical IsInterface_specification_version() const;
    Logical IsJustification() const;
    Logical IsJustification_assignment() const;
    Logical IsJustification_relationship() const;
    Logical IsJustification_support_assignment() const;
    Logical IsLocation_assignment() const;
    Logical IsLocation_representation() const;
    Logical IsManaged_resource() const;
    Logical IsManaged_resource_relationship() const;
    Logical IsMessage() const;
    Logical IsNumerical_document_property() const;
    Logical IsObservation() const;
    Logical IsOrganization_or_person_in_organization_assignment() const;
    Logical IsOrganization_organization_type_relationship() const;
    Logical IsOrganization_relationship() const;
    Logical IsPart() const;
    Logical IsPart_version() const;
    Logical IsPart_view_definition() const;
    Logical IsPerson() const;
    Logical IsPerson_in_organization() const;
    Logical IsPerson_or_organization_or_person_in_organization_in_position() const;
    Logical IsPerson_or_organization_or_person_in_organization_in_position_relationship() const;
    Logical IsPhysical_document_definition() const;
    Logical IsPosition_assignment() const;
    Logical IsPosition_group_assignment() const;
    Logical IsPosition_position_type_assignment() const;
    Logical IsPosition_type_assignment() const;
    Logical IsProduct_as_planned() const;
    Logical IsProduct_as_realized() const;
    Logical IsProduct_category_assignment() const;
    Logical IsProduct_concept() const;
    Logical IsProduct_configuration() const;
    Logical IsProduct_design_to_individual() const;
    Logical IsProduct_design_version_to_individual() const;
    Logical IsProduct_group() const;
    Logical IsProduct_group_membership() const;
    Logical IsProduct_group_relationship() const;
    Logical IsProduct_in_attachment_slot() const;
    Logical IsProduct_planned_to_realized() const;
    Logical IsProduct_relationship() const;
    Logical IsProduct_version() const;
    Logical IsProduct_version_relationship() const;
    Logical IsProduct_view_definition() const;
    Logical IsProject() const;
    Logical IsProject_assignment() const;
    Logical IsProperty_representation() const;
    Logical IsQualification_assignment() const;
    Logical IsRepresentation() const;
    Logical IsRequired_resource() const;
    Logical IsRequired_resource_assignment() const;
    Logical IsRequirement() const;
    Logical IsRequirement_assignment() const;
    Logical IsRequirement_collection_relationship() const;
    Logical IsRequirement_source() const;
    Logical IsRequirement_version() const;
    Logical IsRequirement_version_relationship() const;
    Logical IsRequirement_view_definition() const;
    Logical IsResource_as_realized() const;
    Logical IsResource_as_realized_assignment() const;
    Logical IsResource_event() const;
    Logical IsResource_item() const;
    Logical IsResource_item_assignment() const;
    Logical IsResource_property() const;
    Logical IsResource_property_representation() const;
    Logical IsScheme_entry() const;
    Logical IsSecurity_classification() const;
    Logical IsSecurity_classification_assignment() const;
    Logical IsSelected_item() const;
    Logical IsSelected_item_assignment() const;
    Logical IsState() const;
    Logical IsState_assertion() const;
    Logical IsState_assessment() const;
    Logical IsState_definition() const;
    Logical IsState_definition_relationship() const;
    Logical IsState_relationship() const;
    Logical IsTask_element() const;
    Logical IsTask_element_relationship() const;
    Logical IsTask_element_state_relationship() const;
    Logical IsTask_method() const;
    Logical IsTask_method_assignment() const;
    Logical IsTask_method_relationship() const;
    Logical IsTask_method_state_relationship() const;
    Logical IsTask_method_version() const;
    Logical IsTask_method_version_assignment() const;
    Logical IsTask_method_version_relationship() const;
    Logical IsTask_objective() const;
    Logical IsTask_objective_state_relationship() const;
    Logical IsTracing_relationship() const;
    Logical IsType_of_person_assignment() const;
    Logical IsView_definition_context() const;
    Logical IsWork_order() const;
    Logical IsWork_output() const;
    Logical IsWork_request() const;

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

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

inline SDAI_Select * create_SdaiDate_or_date_time_item () { return new SdaiDate_or_date_time_item; }
typedef SdaiDate_or_date_time_item * SdaiDate_or_date_time_itemH;
typedef SdaiDate_or_date_time_item_ptr SdaiDate_or_date_time_item_var;


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

  public:
    SdaiDate_or_date_time_item_agg( SelectTypeDescriptor * =ap239_product_life_cycle_support_arm_lf::t_date_or_date_time_item );
    ~SdaiDate_or_date_time_item_agg();
    virtual SingleLinkNode * NewNode()
     { return new SelectNode (new SdaiDate_or_date_time_item( sel_type )); }
};
inline STEPaggregate * create_SdaiDate_or_date_time_item_agg () { return new SdaiDate_or_date_time_item_agg; }
typedef SdaiDate_or_date_time_item_agg_ptr SdaiDate_or_date_time_item_agg_var;

/////  END SELECT TYPE date_or_date_time_item

void init_SdaiDate_or_date_time_item(Registry& reg);

#endif
