Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv25981/qlo
Modified Files:
enumclassctors.cpp enumclassctors.hpp typefactory.hpp
Log Message:
Esposed EurLibor index to excel
Index: enumclassctors.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** enumclassctors.cpp 30 Aug 2006 15:16:33 -0000 1.19
--- enumclassctors.cpp 6 Sep 2006 10:01:00 -0000 1.20
***************
*** 435,438 ****
--- 435,514 ----
EuriborHandle::instance().handleYieldTermStructure()));
}
+ /* *** EURLibor *** */
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_SW() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLiborSW(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_2W() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor2W(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_3W() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor3W(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_1M() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor1M(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_2M() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor2M(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_3M() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor3M(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_4M() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor4M(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_5M() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor5M(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_6M() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor6M(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_7M() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor7M(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_8M() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor8M(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_9M() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor9M(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_10M() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor10M(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_11M() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor11M(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_1Y() {
+ return boost::shared_ptr<QuantLib::Index>(
+ new QuantLib::EURLibor1Y(
+ EURLiborHandle::instance().handleYieldTermStructure()));
+ }
/* *** EuriborSwapFixA *** */
boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_1Y() {
Index: enumclassctors.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.hpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** enumclassctors.hpp 30 Aug 2006 15:16:33 -0000 1.17
--- enumclassctors.hpp 6 Sep 2006 10:01:00 -0000 1.18
***************
*** 181,184 ****
--- 181,200 ----
boost::shared_ptr<QuantLib::Index> EURIBOR_11M();
boost::shared_ptr<QuantLib::Index> EURIBOR_1Y();
+ /* *** EURLibor *** */
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_SW();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_2W();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_3W();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_1M();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_2M();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_3M();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_4M();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_5M();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_6M();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_7M();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_8M();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_9M();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_10M();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_11M();
+ boost::shared_ptr<QuantLib::Index> EURLIBOR_1Y();
/* *** EuriborSwapFixA *** */
boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_1Y();
Index: typefactory.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/typefactory.hpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** typefactory.hpp 30 Aug 2006 15:16:33 -0000 1.32
--- typefactory.hpp 6 Sep 2006 10:01:00 -0000 1.33
***************
*** 27,30 ****
--- 27,31 ----
#include <ql/Indexes/euribor.hpp>
#include <ql/Indexes/euriborswapfixa.hpp>
+ #include <ql/Indexes/eurlibor.hpp>
#include <ql/TermStructures/ratehelpers.hpp>
#include <ql/CashFlows/cmscoupon.hpp>
***************
*** 243,246 ****
--- 244,262 ----
};
+ // a singleton to store the Handle<YieldTermStructure>
+ // shared by all enumerated EURLibor classes
+ class EURLiborHandle : public QuantLib::Singleton<EURLiborHandle> {
+ friend class QuantLib::Singleton<EURLiborHandle>;
+ public:
+ const QuantLib::Handle<QuantLib::YieldTermStructure> &handleYieldTermStructure() const {
+ return handleYieldTermStructure_;
+ }
+ void linkEURLiborHandle(boost::shared_ptr<QuantLib::YieldTermStructure> yieldTermStructure) {
+ handleYieldTermStructure_.linkTo(yieldTermStructure);
+ }
+ private:
+ QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure_;
+ };
+
///* *** Index *** */
typedef boost::shared_ptr<QuantLib::Index>(*IndexConstructor)();
|