18#include <ql/errors.hpp>
30 impl_ = QuantLib::ext::make_shared<Ireland::IrishStockExchangeImpl>();
33 impl_ = QuantLib::ext::make_shared<Ireland::BankHolidaysImpl>();
36 QL_FAIL(
"Internal error, unexpected market " << market);
41 Weekday w = date.weekday();
42 Day d = date.dayOfMonth(), dd = date.dayOfYear();
43 Month m = date.month();
45 Day em = easterMonday(y);
49 || ((d == 1 || ((d == 2 || d == 3) && w == Monday)) && m == January)
55 || (m == Mar && ((d == 17) || ((d == 18 || d == 19) && w == Monday)))
57 || (m == May && d == Date::nthWeekday(1, Monday, May, y).dayOfMonth())
59 || (m == June && d == Date::nthWeekday(1, Monday, June, y).dayOfMonth())
61 || (m == August && d == Date::nthWeekday(1, Monday, August, y).dayOfMonth())
65 || ((d == 25 || (d == 27 && (w == Monday || w == Tuesday))) && m == December)
67 || ((d == 26 || (d == 28 && (w == Monday || w == Tuesday))) && m == December))
73 Weekday w = date.weekday();
74 Day d = date.dayOfMonth();
75 Month m = date.month();
77 (m == December && (d == 27 || (d == 29 && (w == Mon || w == Tue || w == Wed)) || (d == 28 && w == Wed))))
bool isBusinessDay(const QuantLib::Date &) const override
bool isBusinessDay(const QuantLib::Date &) const override
Ireland(const Market market=IrishStockExchange)
helper functions for date operations
Date lastWeekday(Weekday dayOfWeek, Month m, Year y)