Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv17578/qlo
Modified Files:
enumclassctors.cpp enumclassctors.hpp typefactory.hpp
Log Message:
fix for EuriborSwapFixA
Index: enumclassctors.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** enumclassctors.cpp 29 Aug 2006 08:07:52 -0000 1.18
--- enumclassctors.cpp 30 Aug 2006 15:16:33 -0000 1.19
***************
*** 224,380 ****
}
- /* *** Euribor *** */
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_SW() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::EuriborSW(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_2W() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor2W(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_3W() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor3W(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_1M() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor1M(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_2M() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor2M(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_3M() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor3M(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_4M() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor4M(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_5M() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor5M(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_6M() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor6M(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_7M() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor7M(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_8M() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor8M(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_9M() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor9M(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_10M() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor10M(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_11M() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor11M(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_1Y() {
- return boost::shared_ptr<QuantLib::Euribor>(
- new QuantLib::Euribor1Y(
- EuriborHandle::instance().handleYieldTermStructure()));
- }
-
- /* *** EuriborSwapFixA *** */
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_1Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA1Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_2Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA2Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_3Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA3Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_4Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA4Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_5Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA5Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_6Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA6Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_7Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA7Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_8Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA8Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_9Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA9Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_10Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA10Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_12Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA12Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_15Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA15Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_20Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA20Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_25Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA25Y());
- //}
-
- //boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_30Y() {
- // return boost::shared_ptr<QuantLib::EuriborSwapFixA>(
- // new QuantLib::EuriborSwapFixA30Y());
- //}
-
/* *** YieldTermStructure *** */
//Discount based yield term structures
--- 224,227 ----
***************
*** 511,514 ****
};
! }
--- 358,514 ----
};
! /* *** Index *** */
! /* *** Euribor *** */
! boost::shared_ptr<QuantLib::Index> EURIBOR_SW() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSW(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_2W() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor2W(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_3W() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor3W(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_1M() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor1M(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_2M() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor2M(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_3M() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor3M(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_4M() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor4M(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_5M() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor5M(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_6M() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor6M(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_7M() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor7M(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_8M() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor8M(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_9M() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor9M(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_10M() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor10M(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_11M() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor11M(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBOR_1Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::Euribor1Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! /* *** EuriborSwapFixA *** */
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_1Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA1Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_2Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA2Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_3Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA3Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_4Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA4Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_5Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA5Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_6Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA6Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_7Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA7Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_8Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA8Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_9Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA9Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_10Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA10Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_12Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA12Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_15Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA15Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_20Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA20Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_25Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA25Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
! boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_30Y() {
! return boost::shared_ptr<QuantLib::Index>(
! new QuantLib::EuriborSwapFixA30Y(
! EuriborHandle::instance().handleYieldTermStructure()));
! }
+ }
Index: enumclassctors.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.hpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** enumclassctors.hpp 29 Aug 2006 08:07:52 -0000 1.16
--- enumclassctors.hpp 30 Aug 2006 15:16:33 -0000 1.17
***************
*** 106,143 ****
const QuantLib::Matrix& zData);
- /* *** Euribor *** */
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_SW();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_2W();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_3W();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_1M();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_2M();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_3M();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_4M();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_5M();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_6M();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_7M();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_8M();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_9M();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_10M();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_11M();
- boost::shared_ptr<QuantLib::Euribor> EURIBOR_1Y();
-
- /* *** EuriborSwapFixA *** */
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_1Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_2Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_3Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_4Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_5Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_6Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_7Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_8Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_9Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_10Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_12Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_15Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_20Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_25Y();
- boost::shared_ptr<QuantLib::EuriborSwapFixA> EURIBORSWAPFIXA_30Y();
-
/* *** YieldTermStructure *** */
//Discount based yield term structures
--- 106,109 ----
***************
*** 198,201 ****
--- 164,201 ----
const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve );
+ /* *** Index *** */
+ /* *** Euribor *** */
+ boost::shared_ptr<QuantLib::Index> EURIBOR_SW();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_2W();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_3W();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_1M();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_2M();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_3M();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_4M();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_5M();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_6M();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_7M();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_8M();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_9M();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_10M();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_11M();
+ boost::shared_ptr<QuantLib::Index> EURIBOR_1Y();
+ /* *** EuriborSwapFixA *** */
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_1Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_2Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_3Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_4Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_5Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_6Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_7Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_8Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_9Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_10Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_12Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_15Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_20Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_25Y();
+ boost::shared_ptr<QuantLib::Index> EURIBORSWAPFIXA_30Y();
+
}
Index: typefactory.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/typefactory.hpp,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** typefactory.hpp 28 Aug 2006 15:56:17 -0000 1.31
--- typefactory.hpp 30 Aug 2006 15:16:33 -0000 1.32
***************
*** 186,238 ****
};
- ///* *** Euribor *** */
- typedef boost::shared_ptr<QuantLib::Euribor>(*EuriborConstructor)(
- const std::string& handleYieldTermStructureID);
-
- template<>
- class Create<boost::shared_ptr<QuantLib::Euribor> > :
- private RegistryManager<QuantLib::Euribor, EnumClassRegistry> {
- public:
- boost::shared_ptr<QuantLib::Euribor> operator() (
- const std::string& euriborID,
- const std::string& handleYieldTermStructureID = "") {
- EuriborConstructor euriborConstructor =
- (EuriborConstructor)(getType(euriborID));
- return euriborConstructor(handleYieldTermStructureID);
- }
- using RegistryManager<QuantLib::Euribor, EnumClassRegistry>::checkType;
- };
-
- /* *** EuriborSwapFixA *** */
- //typedef boost::shared_ptr<QuantLib::EuriborSwapFixA>(*EuriborSwapFixAConstructor)();
-
- //template<>
- //class Create<boost::shared_ptr<QuantLib::EuriborSwapFixA> > :
- // private RegistryManager<QuantLib::EuriborSwapFixA, EnumClassRegistry> {
- //public:
- // boost::shared_ptr<QuantLib::EuriborSwapFixA> operator() (
- // const std::string& euriborSwapFixAID) {
- // EuriborSwapFixAConstructor euriborSwapFixAConstructor =
- // getType<std::string, EuriborSwapFixAConstructor>(euriborSwapFixAID);
- // return euriborSwapFixAConstructor();
- // }
- // using RegistryManager<QuantLib::EuriborSwapFixA, EnumClassRegistry>::checkType;
- //};
-
- // a singleton to store the Handle<YieldTermStructure>
- // shared by all enumerated Euribor classes
- class EuriborHandle : public QuantLib::Singleton<EuriborHandle> {
- friend class QuantLib::Singleton<EuriborHandle>;
- public:
- const QuantLib::Handle<QuantLib::YieldTermStructure> &handleYieldTermStructure() const {
- return handleYieldTermStructure_;
- }
- void linkEuriborHandle(boost::shared_ptr<QuantLib::YieldTermStructure> yieldTermStructure) {
- handleYieldTermStructure_.linkTo(yieldTermStructure);
- }
- private:
- QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure_;
- };
-
/* *** YieldTermStructure *** */
typedef boost::shared_ptr<QuantLib::YieldTermStructure>(*YieldTermStructureConstructor)(
--- 186,189 ----
***************
*** 276,297 ****
}
};
-
- ///* *** InterestRateIndex *** */
- //typedef boost::shared_ptr<QuantLib::InterestRateIndex>(*InterestRateIndexConstructor)(
- // const std::string& handleYieldTermStructureID);
! //template<>
! // class Create<boost::shared_ptr<QuantLib::InterestRateIndex> > :
! // private RegistryManager<QuantLib::InterestRateIndex, EnumClassRegistry> {
! //public:
! // boost::shared_ptr<QuantLib::InterestRateIndex> operator() (
! // const std::string& InterestRateIndexID,
! // const std::string& handleYieldTermStructureID = "") {
! // InterestRateIndexConstructor interestRateIndexConstructor =
! // getType<std::string, InterestRateIndexConstructor>(InterestRateIndexID);
! // return interestRateIndexConstructor(handleYieldTermStructureID);
! // }
! // using RegistryManager<QuantLib::InterestRateIndex, EnumClassRegistry>::checkType;
! //};
}
--- 227,262 ----
}
};
! // a singleton to store the Handle<YieldTermStructure>
! // shared by all enumerated Euribor classes
! class EuriborHandle : public QuantLib::Singleton<EuriborHandle> {
! friend class QuantLib::Singleton<EuriborHandle>;
! public:
! const QuantLib::Handle<QuantLib::YieldTermStructure> &handleYieldTermStructure() const {
! return handleYieldTermStructure_;
! }
! void linkEuriborHandle(boost::shared_ptr<QuantLib::YieldTermStructure> yieldTermStructure) {
! handleYieldTermStructure_.linkTo(yieldTermStructure);
! }
! private:
! QuantLib::Handle<QuantLib::YieldTermStructure> handleYieldTermStructure_;
! };
!
! ///* *** Index *** */
! typedef boost::shared_ptr<QuantLib::Index>(*IndexConstructor)();
!
! template<>
! class Create<boost::shared_ptr<QuantLib::Index> > :
! private RegistryManager<QuantLib::Index, EnumClassRegistry> {
! public:
! boost::shared_ptr<QuantLib::Index> operator() (
! const std::string& euriborID) {
! IndexConstructor euriborConstructor =
! (IndexConstructor)(getType(euriborID));
! return euriborConstructor();
! }
! using RegistryManager<QuantLib::Index, EnumClassRegistry>::checkType;
! };
!
}
|