| // { dg-do assemble } |
| // GROUPS passed old-abort |
| class D_Interval; |
| |
| class Date |
| { |
| public: |
| Date(const D_Interval*,const Date&); |
| private: |
| const D_Interval* interval; |
| }; |
| |
| class Time_Interval |
| { |
| public: |
| Time_Interval(const Date& start,const Date& stop); |
| const Date& Start() const { return start; } |
| const Date& Stop() const { return stop; } |
| private: |
| Date start; |
| Date stop; |
| }; |
| |
| class Dated_Data |
| { |
| public: |
| Dated_Data(const Time_Interval& dates); |
| virtual ~Dated_Data(); |
| Time_Interval Dates() const { return dates; } |
| private: |
| Time_Interval dates; |
| }; |
| |
| class Raw_Data : public Dated_Data |
| { |
| public: |
| Raw_Data(const Dated_Data *source,const D_Interval& period); |
| }; |
| |
| Raw_Data::Raw_Data(const Dated_Data *source,const D_Interval& period) |
| : Dated_Data(Time_Interval(Date(&period,source->Dates().Start()), |
| Date(&period,source->Dates().Stop()))) |
| { |
| } |