Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo/Conversions
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv20728/qlo/Conversions
Modified Files:
conversions.cpp conversions.hpp
Log Message:
better implementation for std::vector<long> libraryToVector(const std::vector<QuantLib::Size>& v)
Index: conversions.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/Conversions/conversions.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** conversions.cpp 2 Jan 2007 12:09:37 -0000 1.5
--- conversions.cpp 3 Jan 2007 17:48:48 -0000 1.6
***************
*** 22,25 ****
--- 22,30 ----
#include <qlo/Conversions/conversions.hpp>
+ using vector;
+ using QuantLib::Date;
+ using QuantLib::Period;
+ using QuantLib::Size;
+
namespace ObjHandler {
***************
*** 32,40 ****
}
! long libraryToScalar(const QuantLib::Date &d) {
return d.serialNumber();
}
! std::string libraryToScalar(const QuantLib::Period &period) {
std::ostringstream s;
s << period;
--- 37,45 ----
}
! long libraryToScalar(const Date &d) {
return d.serialNumber();
}
! std::string libraryToScalar(const Period &period) {
std::ostringstream s;
s << period;
***************
*** 42,72 ****
}
! std::vector<std::string> libraryToVector(const std::vector<QuantLib::Period> &v) {
! std::vector<std::string> ret;
ret.reserve(v.size());
! for (std::vector<QuantLib::Period>::const_iterator i = v.begin();
! i != v.end(); i++)
ret.push_back(libraryToScalar(*i));
return ret;
}
! std::vector<long> libraryToVector(const std::vector<QuantLib::Date> &v) {
! std::vector<long> ret;
ret.reserve(v.size());
! for (std::vector<QuantLib::Date>::const_iterator i = v.begin();
! i != v.end(); i++)
ret.push_back(i->serialNumber());
return ret;
}
! std::vector<long> libraryToVector(const std::vector<QuantLib::Size> &v) {
! std::vector<long> ret;
! ret.reserve(v.size());
! for (std::vector<QuantLib::Size>::const_iterator i = v.begin();
! i != v.end(); i++)
! ret.push_back(*i);
! return ret;
}
-
}
-
--- 47,68 ----
}
! vector<std::string> libraryToVector(const vector<Period> &v) {
! vector<std::string> ret;
ret.reserve(v.size());
! for (vector<Period>::const_iterator i = v.begin(); i != v.end(); ++i)
ret.push_back(libraryToScalar(*i));
return ret;
}
! vector<long> libraryToVector(const vector<Date> &v) {
! vector<long> ret;
ret.reserve(v.size());
! for (vector<Date>::const_iterator i = v.begin(); i != v.end(); ++i)
ret.push_back(i->serialNumber());
return ret;
}
! vector<long> libraryToVector(const vector<Size>& v) {
! return vector<long>(v.begin(), v.end());
}
}
Index: conversions.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/Conversions/conversions.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** conversions.hpp 22 Nov 2006 21:38:47 -0000 1.4
--- conversions.hpp 3 Jan 2007 17:48:48 -0000 1.5
***************
*** 31,37 ****
--- 31,40 ----
double libraryToScalar(const QuantLib::Rate&);
long libraryToScalar(const QuantLib::Date&);
+
std::string libraryToScalar(const QuantLib::Period&);
+
std::vector<long> libraryToVector(const std::vector<QuantLib::Date>&);
std::vector<long> libraryToVector(const std::vector<QuantLib::Size>&);
+
std::vector<std::string> libraryToVector(const std::vector<QuantLib::Period>&);
|