]> granicus.if.org Git - icinga2/commitdiff
Another build fix for Windows
authorGunnar Beutner <gunnar.beutner@netways.de>
Wed, 31 Aug 2016 11:43:14 +0000 (13:43 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Wed, 31 Aug 2016 11:43:50 +0000 (13:43 +0200)
refs #9182

17 files changed:
icinga-studio/mainform.cpp
icinga-studio/mainform.hpp
lib/base/exception.cpp
lib/base/exception.hpp
lib/base/json.cpp
lib/base/workqueue.cpp
lib/base/workqueue.hpp
lib/cli/consolecommand.cpp
lib/cli/consolecommand.hpp
lib/config/expression.cpp
lib/db_ido_mysql/idomysqlconnection.cpp
lib/db_ido_mysql/idomysqlconnection.hpp
lib/db_ido_pgsql/idopgsqlconnection.cpp
lib/db_ido_pgsql/idopgsqlconnection.hpp
lib/remote/apiclient.cpp
lib/remote/apiclient.hpp
lib/remote/configobjectutility.cpp

index 4dd5c4c04c78da18468636e79bc6ed77c9b88cec..ebaf6e4a0b367c76c4923d8bfeddd439427e676a 100644 (file)
@@ -49,7 +49,7 @@ MainForm::MainForm(wxWindow *parent, const Url::Ptr& url)
        m_PropertyGrid->SetColumnCount(3);
 }
 
-void MainForm::TypesCompletionHandler(std::exception_ptr eptr, const std::vector<ApiType::Ptr>& types, bool forward)
+void MainForm::TypesCompletionHandler(boost::exception_ptr eptr, const std::vector<ApiType::Ptr>& types, bool forward)
 {
        if (forward) {
                CallAfter(boost::bind(&MainForm::TypesCompletionHandler, this, eptr, types, false));
@@ -60,7 +60,7 @@ void MainForm::TypesCompletionHandler(std::exception_ptr eptr, const std::vector
 
        if (eptr) {
                try {
-                       std::rethrow_exception(eptr);
+                       boost::rethrow_exception(eptr);
                } catch (const std::exception& ex) {
                        std::string message = "HTTP query failed: " + std::string(ex.what());
                        wxMessageBox(message, "Icinga Studio", wxOK | wxCENTRE | wxICON_ERROR, this);
@@ -122,7 +122,7 @@ static bool ApiObjectLessComparer(const ApiObject::Ptr& o1, const ApiObject::Ptr
        return o1->Name < o2->Name;
 }
 
-void MainForm::ObjectsCompletionHandler(std::exception_ptr eptr, const std::vector<ApiObject::Ptr>& objects, bool forward)
+void MainForm::ObjectsCompletionHandler(boost::exception_ptr eptr, const std::vector<ApiObject::Ptr>& objects, bool forward)
 {
        if (forward) {
                CallAfter(boost::bind(&MainForm::ObjectsCompletionHandler, this, eptr, objects, false));
@@ -134,7 +134,7 @@ void MainForm::ObjectsCompletionHandler(std::exception_ptr eptr, const std::vect
 
        if (eptr) {
                try {
-                       std::rethrow_exception(eptr);
+                       boost::rethrow_exception(eptr);
                } catch (const std::exception& ex) {
                        std::string message = "HTTP query failed: " + std::string(ex.what());
                        wxMessageBox(message, "Icinga Studio", wxOK | wxCENTRE | wxICON_ERROR, this);
@@ -236,7 +236,7 @@ wxPGProperty *MainForm::ValueToProperty(const String& name, const Value& value)
        }
 }
 
-void MainForm::ObjectDetailsCompletionHandler(std::exception_ptr eptr, const std::vector<ApiObject::Ptr>& objects, bool forward)
+void MainForm::ObjectDetailsCompletionHandler(boost::exception_ptr eptr, const std::vector<ApiObject::Ptr>& objects, bool forward)
 {
        if (forward) {
                CallAfter(boost::bind(&MainForm::ObjectDetailsCompletionHandler, this, eptr, objects, false));
@@ -247,7 +247,7 @@ void MainForm::ObjectDetailsCompletionHandler(std::exception_ptr eptr, const std
 
        if (eptr) {
                try {
-                       std::rethrow_exception(eptr);
+                       boost::rethrow_exception(eptr);
                } catch (const std::exception& ex) {
                        std::string message = "HTTP query failed: " + std::string(ex.what());
                        wxMessageBox(message, "Icinga Studio", wxOK | wxCENTRE | wxICON_ERROR, this);
index a7b0b28916244076fa00c701bf42572fc8d479b8..a4dcaa28fb9f6ee067d4f4c510ace886c055bb16 100644 (file)
@@ -42,9 +42,9 @@ private:
        ApiClient::Ptr m_ApiClient;
        std::map<String, ApiType::Ptr> m_Types;
 
-       void TypesCompletionHandler(std::exception_ptr eptr, const std::vector<ApiType::Ptr>& types, bool forward);
-       void ObjectsCompletionHandler(std::exception_ptr eptr, const std::vector<ApiObject::Ptr>& objects, bool forward);
-       void ObjectDetailsCompletionHandler(std::exception_ptr eptr, const std::vector<ApiObject::Ptr>& objects, bool forward);
+       void TypesCompletionHandler(boost::exception_ptr eptr, const std::vector<ApiType::Ptr>& types, bool forward);
+       void ObjectsCompletionHandler(boost::exception_ptr eptr, const std::vector<ApiObject::Ptr>& objects, bool forward);
+       void ObjectDetailsCompletionHandler(boost::exception_ptr eptr, const std::vector<ApiObject::Ptr>& objects, bool forward);
 
        wxPGProperty *ValueToProperty(const String& name, const Value& value);
 };
index 2b21a4664af8456aeb839753eb6cdc37ed6515d4..5062ae4a68bca1a8f87f093331633a06760b0087 100644 (file)
@@ -260,7 +260,7 @@ String icinga::DiagnosticInformation(const std::exception& ex, bool verbose, Sta
        return result.str();
 }
 
-String icinga::DiagnosticInformation(std::exception_ptr eptr, bool verbose)
+String icinga::DiagnosticInformation(boost::exception_ptr eptr, bool verbose)
 {
        StackTrace *pt = GetLastExceptionStack();
        StackTrace stack;
@@ -275,7 +275,7 @@ String icinga::DiagnosticInformation(std::exception_ptr eptr, bool verbose)
                context = *pc;
 
        try {
-               std::rethrow_exception(eptr);
+               boost::rethrow_exception(eptr);
        } catch (const std::exception& ex) {
                return DiagnosticInformation(ex, verbose, pt ? &stack : NULL, pc ? &context : NULL);
        }
index 1901af5425e67b0c54898b55f116b91d0349ca65..04b20be2404d117b84dae3167ebbb9ecaa5ed8b3 100644 (file)
 #include "base/dictionary.hpp"
 #include "base/configobject.hpp"
 #include <sstream>
-#include <exception>
 #include <boost/exception/errinfo_api_function.hpp>
 #include <boost/exception/errinfo_errno.hpp>
 #include <boost/exception/errinfo_file_name.hpp>
 #include <boost/exception/diagnostic_information.hpp>
+#include <boost/exception_ptr.hpp>
 
 #ifdef _WIN32
 #      include <boost/algorithm/string/trim.hpp>
@@ -121,7 +121,7 @@ inline std::string to_string(const ContextTraceErrorInfo& e)
 }
 
 I2_BASE_API String DiagnosticInformation(const std::exception& ex, bool verbose = true, StackTrace *stack = NULL, ContextTrace *context = NULL);
-I2_BASE_API String DiagnosticInformation(std::exception_ptr eptr, bool verbose = true);
+I2_BASE_API String DiagnosticInformation(boost::exception_ptr eptr, bool verbose = true);
 
 class I2_BASE_API posix_error : virtual public std::exception, virtual public boost::exception {
 public:
index 74fab8753165b9ee2610304b648d640520f5bd84..6362e8b248b7fde5a08c01e753586f9fbe47a2b4 100644 (file)
 #include "base/array.hpp"
 #include "base/objectlock.hpp"
 #include "base/convert.hpp"
+#include <boost/exception_ptr.hpp>
 #include <yajl/yajl_version.h>
 #include <yajl/yajl_gen.h>
 #include <yajl/yajl_parse.h>
 #include <stack>
-#include <exception>
 
 using namespace icinga;
 
@@ -188,19 +188,19 @@ public:
 
        void SaveException(void)
        {
-               m_Exception = std::current_exception();
+               m_Exception = boost::current_exception();
        }
 
        void ThrowException(void) const
        {
                if (m_Exception)
-                       std::rethrow_exception(m_Exception);
+                       boost::rethrow_exception(m_Exception);
        }
 
 private:
        std::stack<JsonElement> m_Stack;
        Value m_Key;
-       std::exception_ptr m_Exception;
+       boost::exception_ptr m_Exception;
 };
 
 static int DecodeNull(void *ctx)
index 38b5b76ab3b7784d22da92e855bdfada8ce8c9f5..1ded9c150d66f50fc81e0b7fae213aeadfad1bf2 100644 (file)
@@ -161,7 +161,7 @@ bool WorkQueue::HasExceptions(void) const
  * Returns all exceptions which have occurred for tasks in this work queue. When a
  * custom exception callback is set this method will always return an empty list.
  */
-std::vector<std::exception_ptr> WorkQueue::GetExceptions(void) const
+std::vector<boost::exception_ptr> WorkQueue::GetExceptions(void) const
 {
        boost::mutex::scoped_lock lock(m_Mutex);
  
@@ -170,7 +170,7 @@ std::vector<std::exception_ptr> WorkQueue::GetExceptions(void) const
 
 void WorkQueue::ReportExceptions(const String& facility) const
 {
-       std::vector<std::exception_ptr> exceptions = GetExceptions();
+       std::vector<boost::exception_ptr> exceptions = GetExceptions();
 
        for (const auto& eptr : exceptions) {
                Log(LogCritical, facility)
@@ -235,12 +235,12 @@ void WorkQueue::WorkerThreadProc(void)
                        lock.lock();
 
                        if (!m_ExceptionCallback)
-                               m_Exceptions.push_back(std::current_exception());
+                               m_Exceptions.push_back(boost::current_exception());
 
                        lock.unlock();
 
                        if (m_ExceptionCallback)
-                               m_ExceptionCallback(std::current_exception());
+                               m_ExceptionCallback(boost::current_exception());
                }
 
                /* clear the task so whatever other resources it holds are released
index 3f2a498f0b658c3264d7298ae05f4add8954c1a4..77d0c17a4c4ecc47906661b67955b3d29d76c33a 100644 (file)
@@ -26,9 +26,9 @@
 #include <boost/thread/thread.hpp>
 #include <boost/thread/mutex.hpp>
 #include <boost/thread/condition_variable.hpp>
+#include <boost/exception_ptr.hpp>
 #include <queue>
 #include <deque>
-#include <exception>
 
 namespace icinga
 {
@@ -78,7 +78,7 @@ inline bool operator<(const Task& a, const Task& b)
 class I2_BASE_API WorkQueue
 {
 public:
-       typedef boost::function<void (std::exception_ptr)> ExceptionCallback;
+       typedef boost::function<void (boost::exception_ptr)> ExceptionCallback;
 
        WorkQueue(size_t maxItems = 0, int threadCount = 1);
        ~WorkQueue(void);
@@ -97,7 +97,7 @@ public:
        void SetExceptionCallback(const ExceptionCallback& callback);
 
        bool HasExceptions(void) const;
-       std::vector<std::exception_ptr> GetExceptions(void) const;
+       std::vector<boost::exception_ptr> GetExceptions(void) const;
        void ReportExceptions(const String& facility) const;
 
 private:
@@ -118,7 +118,7 @@ private:
        std::priority_queue<Task, std::deque<Task> > m_Tasks;
        int m_NextTaskID;
        ExceptionCallback m_ExceptionCallback;
-       std::vector<std::exception_ptr> m_Exceptions;
+       std::vector<boost::exception_ptr> m_Exceptions;
        Timer::Ptr m_StatusTimer;
 
        void WorkerThreadProc(void);
index b9e1dfeeea596beec0e71b351684903925412948..421e9fd2c38e4e8389b2323b5faa07a99ae9284e 100644 (file)
@@ -378,7 +378,7 @@ incomplete:
                                boost::mutex mutex;
                                boost::condition_variable cv;
                                bool ready = false;
-                               std::exception_ptr eptr;
+                               boost::exception_ptr eptr;
 
                                l_ApiClient->ExecuteScript(l_Session, command, scriptFrame.Sandboxed,
                                    boost::bind(&ConsoleCommand::ExecuteScriptCompletionHandler,
@@ -393,7 +393,7 @@ incomplete:
                                }
 
                                if (eptr)
-                                       std::rethrow_exception(eptr);
+                                       boost::rethrow_exception(eptr);
                        }
 
                        if (commandOnce.IsEmpty()) {
@@ -466,13 +466,13 @@ incomplete:
 }
 
 void ConsoleCommand::ExecuteScriptCompletionHandler(boost::mutex& mutex, boost::condition_variable& cv,
-    bool& ready, std::exception_ptr eptr, const Value& result, Value& resultOut, std::exception_ptr& eptrOut)
+    bool& ready, boost::exception_ptr eptr, const Value& result, Value& resultOut, boost::exception_ptr& eptrOut)
 {
        if (eptr) {
                try {
-                       std::rethrow_exception(eptr);
+                       boost::rethrow_exception(eptr);
                } catch (const ScriptError& ex) {
-                       eptrOut = std::current_exception();
+                       eptrOut = boost::current_exception();
                } catch (const std::exception& ex) {
                        Log(LogCritical, "ConsoleCommand")
                            << "HTTP query failed: " << ex.what();
@@ -490,11 +490,11 @@ void ConsoleCommand::ExecuteScriptCompletionHandler(boost::mutex& mutex, boost::
 }
 
 void ConsoleCommand::AutocompleteScriptCompletionHandler(boost::mutex& mutex, boost::condition_variable& cv,
-    bool& ready, std::exception_ptr eptr, const Array::Ptr& result, Array::Ptr& resultOut)
+    bool& ready, boost::exception_ptr eptr, const Array::Ptr& result, Array::Ptr& resultOut)
 {
        if (eptr) {
                try {
-                       std::rethrow_exception(eptr);
+                       boost::rethrow_exception(eptr);
                } catch (const std::exception& ex) {
                        Log(LogCritical, "ConsoleCommand")
                            << "HTTP query failed: " << ex.what();
index 7b52b2252ed9a787cb30a229732e37ca009f9698..331f226a47b33b30f451eeafed14a5cb7cd6c032 100644 (file)
@@ -54,10 +54,10 @@ private:
        mutable boost::condition_variable m_CV;
 
        static void ExecuteScriptCompletionHandler(boost::mutex& mutex, boost::condition_variable& cv,
-           bool& ready, std::exception_ptr eptr, const Value& result, Value& resultOut,
-           std::exception_ptr& eptrOut);
+           bool& ready, boost::exception_ptr eptr, const Value& result, Value& resultOut,
+           boost::exception_ptr& eptrOut);
        static void AutocompleteScriptCompletionHandler(boost::mutex& mutex, boost::condition_variable& cv,
-           bool& ready, std::exception_ptr eptr, const Array::Ptr& result, Array::Ptr& resultOut);
+           bool& ready, boost::exception_ptr eptr, const Array::Ptr& result, Array::Ptr& resultOut);
 
 #ifdef HAVE_EDITLINE
        static char *ConsoleCompleteHelper(const char *word, int state);
index 1f6ed83483d2f81778d50cc9fcfcb98afaa5b24d..0930a91299e18d1a0a39c79190966cc7e9be2fa4 100644 (file)
@@ -28,6 +28,8 @@
 #include "base/exception.hpp"
 #include "base/scriptglobal.hpp"
 #include "base/loader.hpp"
+#include <boost/exception_ptr.hpp>
+#include <boost/exception/errinfo_nested_exception.hpp>
 
 using namespace icinga;
 
@@ -70,7 +72,8 @@ ExpressionResult Expression::Evaluate(ScriptFrame& frame, DebugHint *dhint) cons
        } catch (const std::exception& ex) {
                frame.DecreaseStackDepth();
 
-               BOOST_THROW_EXCEPTION(ScriptError("Error while evaluating expression: " + String(ex.what()), GetDebugInfo()));
+               BOOST_THROW_EXCEPTION(ScriptError("Error while evaluating expression: " + String(ex.what()), GetDebugInfo())
+                   << boost::errinfo_nested_exception(boost::current_exception()));
        }
 
        frame.DecreaseStackDepth();
index 638eb7d44892a772ca41841fd3206a9eb0a477f3..7b4153932ea10b950fa58bc70601a51bc2de4df0 100644 (file)
@@ -105,7 +105,7 @@ void IdoMysqlConnection::Pause(void)
        m_QueryQueue.Join();
 }
 
-void IdoMysqlConnection::ExceptionHandler(std::exception_ptr exp)
+void IdoMysqlConnection::ExceptionHandler(boost::exception_ptr exp)
 {
        Log(LogCritical, "IdoMysqlConnection", "Exception during database operation: Verify that your database is operational!");
 
index 0b62aa27ea921deb6614616e8057f0ed004ed0d6..c134cf7fe8c3ad93158dba35fe6cbe42c9a65cb3 100644 (file)
@@ -117,7 +117,7 @@ private:
        void ClearTableBySession(const String& table);
        void ClearTablesBySession(void);
 
-       void ExceptionHandler(std::exception_ptr exp);
+       void ExceptionHandler(boost::exception_ptr exp);
 
        void FinishConnect(double startTime);
 };
index 18feaeb81e03c6b193f86ca0d922719452efadb3..7e5250593b35b0de34f8a83304e71042290b40a8 100644 (file)
@@ -109,7 +109,7 @@ void IdoPgsqlConnection::Pause(void)
        m_QueryQueue.Join();
 }
 
-void IdoPgsqlConnection::ExceptionHandler(std::exception_ptr exp)
+void IdoPgsqlConnection::ExceptionHandler(boost::exception_ptr exp)
 {
        Log(LogWarning, "IdoPgsqlConnection", "Exception during database operation: Verify that your database is operational!");
 
index cc3fffd535faae9a7af51bfa626d17075299ce2e..62fd2a9662ea81ba52718f5c73425b0207605755 100644 (file)
@@ -102,7 +102,7 @@ private:
        void ClearTableBySession(const String& table);
        void ClearTablesBySession(void);
 
-       void ExceptionHandler(std::exception_ptr exp);
+       void ExceptionHandler(boost::exception_ptr exp);
 
        void FinishConnect(double startTime);
 };
index 4c46f3e17a26bdd5b3f170977f3f1e8b1624772e..34ebb4508647008cd0a1d5340f5b669f9c9d062c 100644 (file)
@@ -53,7 +53,7 @@ void ApiClient::GetTypes(const TypesCompletionCallback& callback) const
                req->AddHeader("Accept", "application/json");
                m_Connection->SubmitRequest(req, boost::bind(TypesHttpCompletionCallback, _1, _2, callback));
        } catch (const std::exception& ex) {
-               callback(std::current_exception(), std::vector<ApiType::Ptr>());
+               callback(boost::current_exception(), std::vector<ApiType::Ptr>());
        }
 }
 
@@ -94,11 +94,11 @@ void ApiClient::TypesHttpCompletionCallback(HttpRequest& request, HttpResponse&
                        types.push_back(type);
                }
 
-               callback(std::exception_ptr(), types);
+               callback(boost::exception_ptr(), types);
        } catch (const std::exception& ex) {
                Log(LogCritical, "ApiClient")
                    << "Error while decoding response: " << DiagnosticInformation(ex);
-               callback(std::current_exception(), std::vector<ApiType::Ptr>());
+               callback(boost::current_exception(), std::vector<ApiType::Ptr>());
        }
 
 }
@@ -143,7 +143,7 @@ void ApiClient::GetObjects(const String& pluralType, const ObjectsCompletionCall
                req->AddHeader("Accept", "application/json");
                m_Connection->SubmitRequest(req, boost::bind(ObjectsHttpCompletionCallback, _1, _2, callback));
        } catch (const std::exception& ex) {
-               callback(std::current_exception(), std::vector<ApiObject::Ptr>());
+               callback(boost::current_exception(), std::vector<ApiObject::Ptr>());
        }
 }
 
@@ -221,11 +221,11 @@ void ApiClient::ObjectsHttpCompletionCallback(HttpRequest& request,
                        }
                }
 
-               callback(std::exception_ptr(), objects);
+               callback(boost::exception_ptr(), objects);
        } catch (const std::exception& ex) {
                Log(LogCritical, "ApiClient")
                        << "Error while decoding response: " << DiagnosticInformation(ex);
-               callback(std::current_exception(), std::vector<ApiObject::Ptr>());
+               callback(boost::current_exception(), std::vector<ApiObject::Ptr>());
        }
 }
 
@@ -257,7 +257,7 @@ void ApiClient::ExecuteScript(const String& session, const String& command, bool
                req->AddHeader("Accept", "application/json");
                m_Connection->SubmitRequest(req, boost::bind(ExecuteScriptHttpCompletionCallback, _1, _2, callback));
        } catch (const std::exception& ex) {
-               callback(std::current_exception(), Empty);
+               callback(boost::current_exception(), Empty);
        }
 }
 
@@ -307,9 +307,9 @@ void ApiClient::ExecuteScriptHttpCompletionCallback(HttpRequest& request,
                        }
                }
 
-               callback(std::exception_ptr(), result);
+               callback(boost::exception_ptr(), result);
        } catch (const std::exception& ex) {
-               callback(std::current_exception(), Empty);
+               callback(boost::current_exception(), Empty);
        }
 }
 
@@ -341,7 +341,7 @@ void ApiClient::AutocompleteScript(const String& session, const String& command,
                req->AddHeader("Accept", "application/json");
                m_Connection->SubmitRequest(req, boost::bind(AutocompleteScriptHttpCompletionCallback, _1, _2, callback));
        } catch (const std::exception& ex) {
-               callback(std::current_exception(), Array::Ptr());
+               callback(boost::current_exception(), Array::Ptr());
        }
 }
 
@@ -380,8 +380,8 @@ void ApiClient::AutocompleteScriptHttpCompletionCallback(HttpRequest& request,
                                BOOST_THROW_EXCEPTION(ScriptError(errorMessage));
                }
 
-               callback(std::exception_ptr(), suggestions);
+               callback(boost::exception_ptr(), suggestions);
        } catch (const std::exception& ex) {
-               callback(std::current_exception(), Array::Ptr());
+               callback(boost::current_exception(), Array::Ptr());
        }
 }
index f36d9f1c607f7a3cccb8aeb504d268a9e9b13c58..4d24da90d8e1155db05bf08bc067a589c32347b9 100644 (file)
@@ -92,20 +92,20 @@ public:
        ApiClient(const String& host, const String& port,
            const String& user, const String& password);
 
-       typedef boost::function<void(std::exception_ptr, const std::vector<ApiType::Ptr>&)> TypesCompletionCallback;
+       typedef boost::function<void(boost::exception_ptr, const std::vector<ApiType::Ptr>&)> TypesCompletionCallback;
        void GetTypes(const TypesCompletionCallback& callback) const;
 
-       typedef boost::function<void(std::exception_ptr, const std::vector<ApiObject::Ptr>&)> ObjectsCompletionCallback;
+       typedef boost::function<void(boost::exception_ptr, const std::vector<ApiObject::Ptr>&)> ObjectsCompletionCallback;
        void GetObjects(const String& pluralType, const ObjectsCompletionCallback& callback,
            const std::vector<String>& names = std::vector<String>(),
            const std::vector<String>& attrs = std::vector<String>(),
            const std::vector<String>& joins = std::vector<String>(), bool all_joins = false) const;
 
-       typedef boost::function<void(std::exception_ptr, const Value&)> ExecuteScriptCompletionCallback;
+       typedef boost::function<void(boost::exception_ptr, const Value&)> ExecuteScriptCompletionCallback;
        void ExecuteScript(const String& session, const String& command, bool sandboxed,
            const ExecuteScriptCompletionCallback& callback) const;
        
-       typedef boost::function<void(std::exception_ptr, const Array::Ptr&)> AutocompleteScriptCompletionCallback;
+       typedef boost::function<void(boost::exception_ptr, const Array::Ptr&)> AutocompleteScriptCompletionCallback;
        void AutocompleteScript(const String& session, const String& command, bool sandboxed,
            const AutocompleteScriptCompletionCallback& callback) const;
 
index 3760c404e5472d1a7d0babbb1e8b730b2db8a722..f14b6809655d87796eb02c939ad9b50b0b653ddc 100644 (file)
@@ -143,7 +143,7 @@ bool ConfigObjectUtility::CreateObject(const Type::Ptr& type, const String& full
                                            << boost::errinfo_file_name(path));
                                }
 
-                               for (const std::exception_ptr& ex : upq.GetExceptions()) {
+                               for (const boost::exception_ptr& ex : upq.GetExceptions()) {
                                        errors->Add(DiagnosticInformation(ex));
                                }
                        }