00001 #include "StRecordIterator.h"
00002 #include "RecordList.h"
00003 #include "StRecord.h"
00004
00005 #include <algorithm>
00006
00007 using namespace TxLogging;
00008
00009 using namespace std;
00010
00011
00012 RecordList::RecordList():vector<StRecord*>(){};
00013
00014 RecordList::RecordList(const RecordList &me):vector<StRecord*>(me){};
00015
00016
00017 RecordList &RecordList::operator=(const RecordList &me)
00018 {
00019
00020 return *this;
00021 }
00022
00023 RecordList::~RecordList()
00024 {
00025 Clear();
00026 }
00027
00028
00029 namespace {
00030 void Delete(StRecord* r) { delete r; }
00031 void PrintFields(StRecord* r) { r->print(); }
00032 void PrintHeader(StRecord* r) { r->printHeader(); }
00033 }
00034
00035 void RecordList::Clear()
00036 {
00037 for_each(begin(),end(),Delete);
00038 clear();
00039 }
00040
00041 void RecordList::Print()
00042 {
00043 PrintHeader(*begin());
00044 for_each(begin(),end(),PrintFields);
00045 }
00046
00047 TxLogging::Iterator RecordList::iterator()
00048 {
00049 return TxLogging::Iterator(this);
00050 }
00051