2 * Copyright (C) 2016 Canonical, Ltd.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; version 3.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 * Authored by: Thomas Voß <thomas.voss@canonical.com>
20 #ifndef ANBOX_UTIL_NOT_REACHABLE_H_
21 #define ANBOX_UTIL_NOT_REACHABLE_H_
28 /// @brief NotReachable is thrown from not_reachable.
29 struct NotReachable : public std::logic_error {
30 /// @brief NotImplemented initializes a new instance for the given function
32 NotReachable(const std::string& function, const std::string& file,
36 /// @brief not_reachable throws NotReachable.
37 [[noreturn]] void not_reachable(const std::string& function,
38 const std::string& file, std::uint32_t line);