#ifndef  ENTITY_SDAIDATED_EFFECTIVITY_H
#define  ENTITY_SDAIDATED_EFFECTIVITY_H

// This file was generated by exp2cxx,
// 0.8.1.
// You probably don't want to edit it since your modifications
// will be lost if exp2cxx is used to regenerate it.

class SC_SCHEMA_EXPORT SdaiDated_effectivity : public SdaiEffectivity {
     protected:
        SdaiDate_time_or_event_occurrence _effectivity_end_date;    //  OPTIONAL
        SdaiDate_time_or_event_occurrence _effectivity_start_date;
    public: 
        SdaiDated_effectivity();
        SdaiDated_effectivity( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiDated_effectivity( SdaiDated_effectivity & e );
        ~SdaiDated_effectivity();
        int opcode() {
            return 790;
        }
        SdaiDate_time_or_event_occurrence_ptr_c effectivity_end_date_() const;
        SdaiDate_time_or_event_occurrence_ptr   effectivity_end_date_();
        void effectivity_end_date_( const SdaiDate_time_or_event_occurrence_ptr x );

        SdaiDate_time_or_event_occurrence_ptr_c effectivity_start_date_() const;
        SdaiDate_time_or_event_occurrence_ptr   effectivity_start_date_();
        void effectivity_start_date_( const SdaiDate_time_or_event_occurrence_ptr x );

};

inline SdaiDated_effectivity * create_SdaiDated_effectivity() {
    return new SdaiDated_effectivity;
}

void init_SdaiDated_effectivity(Registry& reg);

namespace automotive_design {
    extern EntityDescriptor *e_dated_effectivity;
    extern AttrDescriptor *a_1115effectivity_end_date;
    extern AttrDescriptor *a_1116effectivity_start_date;
}

#endif
