//===------------------------ optional.cpp --------------------------------===//1//2// The LLVM Compiler Infrastructure3//4// This file is dual licensed under the MIT and the University of Illinois Open5// Source Licenses. See LICENSE.TXT for details.6//7//===----------------------------------------------------------------------===//89#include "optional"1011namespace std12{1314bad_optional_access::~bad_optional_access() _NOEXCEPT = default;1516const char* bad_optional_access::what() const _NOEXCEPT {17return "bad_optional_access";18}1920} // std212223#include <experimental/__config>2425// Preserve std::experimental::bad_optional_access for ABI compatibility26// Even though it no longer exists in a header file27_LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL2829class _LIBCPP_EXCEPTION_ABI _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS bad_optional_access30: public std::logic_error31{32public:33bad_optional_access() : std::logic_error("Bad optional Access") {}3435// Get the key function ~bad_optional_access() into the dylib36virtual ~bad_optional_access() _NOEXCEPT;37};3839bad_optional_access::~bad_optional_access() _NOEXCEPT = default;4041_LIBCPP_END_NAMESPACE_EXPERIMENTAL424344