1// Copyright (C) 2014, Andrzej Krzemienski.
2//
3// Use, modification, and distribution is subject to the Boost Software
4// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5// http://www.boost.org/LICENSE_1_0.txt)
6//
7// See http://www.boost.org/libs/optional for documentation.
8//
9// You are welcome to contact the author at:
10// akrzemi1@gmail.com
11//
12#ifndef BOOST_BAD_OPTIONAL_ACCESS_22MAY2014_HPP
13#define BOOST_BAD_OPTIONAL_ACCESS_22MAY2014_HPP
14
15#include <stdexcept>
16#if __cplusplus < 201103L
17#include <string> // to make converting-ctor std::string(char const*) visible
18#endif
19
20namespace boost {
21
22#if defined(__clang__)
23# pragma clang diagnostic push
24# pragma clang diagnostic ignored "-Wweak-vtables"
25#endif
26
27class bad_optional_access : public std::logic_error
28{
29public:
30 bad_optional_access()
31 : std::logic_error("Attempted to access the value of an uninitialized optional object.")
32 {}
33};
34
35#if defined(__clang__)
36# pragma clang diagnostic pop
37#endif
38
39} // namespace boost
40
41#endif
42

source code of include/boost/optional/bad_optional_access.hpp