** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: array2dfile.cpp,v 1.2 2000/06/27 10:48:11 kevin Exp $
+** $Id: array2dfile.cpp,v 1.3 2000/06/28 15:25:34 kevin Exp $
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License (version 2) as
}
Array2dFileLabel::Array2dFileLabel(const char* const str, double ctime = 0.)
- : m_strLabel (str)
+ : m_strLabel (str)
{
init();
}
+Array2dFileLabel::Array2dFileLabel (const Array2dFileLabel& rhs)
+{
+ m_calcTime = rhs.m_calcTime;
+ m_labelType = rhs.m_labelType;
+ m_strLabel = rhs.m_strLabel;
+ m_year = rhs.m_year; m_month = rhs.m_month; m_day = rhs.m_day;
+ m_hour = rhs.m_hour; m_minute = rhs.m_minute; m_second = rhs.m_second;
+}
+
+Array2dFileLabel&
+Array2dFileLabel::operator= (const Array2dFileLabel& rhs)
+{
+ m_calcTime = rhs.m_calcTime;
+ m_labelType = rhs.m_labelType;
+ m_strLabel = rhs.m_strLabel;
+ m_year = rhs.m_year; m_month = rhs.m_month; m_day = rhs.m_day;
+ m_hour = rhs.m_hour; m_minute = rhs.m_minute; m_second = rhs.m_second;
+
+ return (*this);
+}
+
+void
+Array2dFileLabel::print (ostream& os) const
+{
+ if (m_labelType == L_HISTORY) {
+ os << "History: " << endl;
+ os << " " << m_strLabel << endl;
+ os << " calc time = " << m_calcTime << " secs" << endl;
+ os << " Timestamp = " << getDateString() << endl;
+ } else if (m_labelType == L_USER) {
+ os << "Note: " << m_strLabel << endl;
+ os << " Timestamp = %s" << getDateString() << endl;
+ } else {
+ os << "Unknown (" << m_labelType << "): " << m_strLabel << endl;
+ os << " Timestamp = %s" << getDateString() << endl;
+ }
+}
+
+
///////////////////////////////////////////////////////////////////////////
// CLASS IMPLEMENTATION
//
string id = idStr;
for (int i = 0; i < copyFile.getNumLabels(); i++) {
Array2dFileLabel l = copyFile.labelGet (i);
+ copyFile.labelGet(i).print(cout);
+ l.print(cout);
string lstr = l.getLabelString();
lstr = idStr + lstr;
l.setLabelString (lstr);
for (constLabelIterator l = m_labels.begin(); l != m_labels.end(); l++) {
const Array2dFileLabel& label = **l;
- if (label.getLabelType() == Array2dFileLabel::L_HISTORY) {
- os << "History: " << endl;
- os << " " << label.getLabelString() << endl;
- os << " calc time = " << label.getCalcTime() << " secs" << endl;
- os << " Timestamp = " << label.getDateString() << endl;
- } else if (label.getLabelType() == Array2dFileLabel::L_USER) {
- os << "Note: " << label.getLabelString() << endl;
- os << " Timestamp = %s" << label.getDateString() << endl;
- }
- os << endl;
+ label.print (os);
+ os << endl;
}
}