// Copyright Catch2 Authors // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE.txt or copy at // https://www.boost.org/LICENSE_1_0.txt) // SPDX-License-Identifier: BSL-1.0 #ifndef CATCH_INTERFACES_EXCEPTION_HPP_INCLUDED #define CATCH_INTERFACES_EXCEPTION_HPP_INCLUDED #include #include #include namespace Catch { using exceptionTranslateFunction = std::string(*)(); class IExceptionTranslator; using ExceptionTranslators = std::vector>; class IExceptionTranslator { public: virtual ~IExceptionTranslator(); // = default virtual std::string translate( ExceptionTranslators::const_iterator it, ExceptionTranslators::const_iterator itEnd ) const = 0; }; class IExceptionTranslatorRegistry { public: virtual ~IExceptionTranslatorRegistry(); // = default virtual std::string translateActiveException() const = 0; }; } // namespace Catch #endif // CATCH_INTERFACES_EXCEPTION_HPP_INCLUDED