| // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. |
| |
| #pragma once |
| |
| #if !defined(RXCPP_SOURCES_RX_COMPOSITE_EXCEPTION_HPP) |
| #define RXCPP_SOURCES_RX_COMPOSITE_EXCEPTION_HPP |
| |
| #include "rx-includes.hpp" |
| |
| namespace rxcpp { |
| |
| struct composite_exception : std::exception { |
| |
| typedef std::vector<rxu::error_ptr> exception_values; |
| |
| virtual const char *what() const RXCPP_NOEXCEPT override { |
| return "rxcpp composite exception"; |
| } |
| |
| virtual bool empty() const { |
| return exceptions.empty(); |
| } |
| |
| virtual composite_exception add(rxu::error_ptr exception_ptr) { |
| exceptions.push_back(exception_ptr); |
| return *this; |
| } |
| |
| exception_values exceptions; |
| }; |
| |
| } |
| |
| #endif |