24#ifndef quantlib_option_hpp
25#define quantlib_option_hpp
27#include <ql/instrument.hpp>
61 QL_REQUIRE(
payoff,
"no payoff given");
62 QL_REQUIRE(
exercise,
"no exercise given");
94 QL_REQUIRE(
arguments !=
nullptr,
"wrong argument type");
103 return out <<
"Call";
107 QL_FAIL(
"unknown option type");
additional option results
Abstract instrument class.
more additional option results
template class providing a null value for a given type.
ext::shared_ptr< Exercise > exercise
void validate() const override
ext::shared_ptr< Payoff > payoff
void setupArguments(PricingEngine::arguments *) const override
ext::shared_ptr< Payoff > payoff_
ext::shared_ptr< Payoff > payoff() const
Option(ext::shared_ptr< Payoff > payoff, ext::shared_ptr< Exercise > exercise)
ext::shared_ptr< Exercise > exercise_
ext::shared_ptr< Exercise > exercise() const
std::ostream & operator<<(std::ostream &out, GFunctionFactory::YieldCurveModel type)