1 | /* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
2 | |
3 | /* |
4 | Copyright (C) 2005 StatPro Italia srl |
5 | |
6 | This file is part of QuantLib, a free-software/open-source library |
7 | for financial quantitative analysts and developers - http://quantlib.org/ |
8 | |
9 | QuantLib is free software: you can redistribute it and/or modify it |
10 | under the terms of the QuantLib license. You should have received a |
11 | copy of the license along with this program; if not, please email |
12 | <quantlib-dev@lists.sf.net>. The license is also available online at |
13 | <http://quantlib.org/license.shtml>. |
14 | |
15 | This program is distributed in the hope that it will be useful, but WITHOUT |
16 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
17 | FOR A PARTICULAR PURPOSE. See the license for more details. |
18 | */ |
19 | |
20 | /*! \file iceland.hpp |
21 | \brief Icelandic calendars |
22 | */ |
23 | |
24 | #ifndef quantlib_iceland_calendar_hpp |
25 | #define quantlib_iceland_calendar_hpp |
26 | |
27 | #include <ql/time/calendar.hpp> |
28 | |
29 | namespace QuantLib { |
30 | |
31 | //! Icelandic calendars |
32 | /*! Holidays for the Iceland stock exchange |
33 | (data from <http://www.icex.is/is/calendar?languageID=1>): |
34 | <ul> |
35 | <li>Saturdays</li> |
36 | <li>Sundays</li> |
37 | <li>New Year's Day, January 1st</li> |
38 | <li>Holy Thursday</li> |
39 | <li>Good Friday</li> |
40 | <li>Easter Monday</li> |
41 | <li>First day of Summer (third or fourth Thursday in April)</li> |
42 | <li>Labour Day, May 1st</li> |
43 | <li>Ascension Thursday</li> |
44 | <li>Pentecost Monday</li> |
45 | <li>Independence Day, June 17th</li> |
46 | <li>Commerce Day, first Monday in August</li> |
47 | <li>Christmas, December 25th</li> |
48 | <li>Boxing Day, December 26th</li> |
49 | </ul> |
50 | |
51 | \ingroup calendars |
52 | */ |
53 | class Iceland : public Calendar { |
54 | private: |
55 | class IcexImpl final : public Calendar::WesternImpl { |
56 | public: |
57 | std::string name() const override { return "Iceland stock exchange" ; } |
58 | bool isBusinessDay(const Date&) const override; |
59 | }; |
60 | public: |
61 | enum Market { ICEX //!< Iceland stock exchange |
62 | }; |
63 | Iceland(Market m = ICEX); |
64 | }; |
65 | |
66 | } |
67 | |
68 | |
69 | #endif |
70 | |