+Requirements
+------------
+
+-C++ compiler that supports C++11
+
+or
+
+-Boost library (components: tr1 smart_ptr bind function make_shared)
throw ComponentLoadException("Could not load module");
#ifdef _WIN32
- pCreateComponent = reinterpret_cast<CreateComponentFunction>(GetProcAddress(hModule,
- "CreateComponent"));
+ pCreateComponent = (CreateComponentFunction)GetProcAddress(hModule,
+ "CreateComponent");
#else /* _WIN32 */
# ifdef __GNUC__
/* suppress compiler warning for void * cast */
__extension__
# endif
- pCreateComponent = reinterpret_cast<CreateComponentFunction>(lt_dlsym(hModule,
- "CreateComponent"));
+ pCreateComponent = (CreateComponentFunction)lt_dlsym(hModule,
+ "CreateComponent");
#endif /* _WIN32 */
if (pCreateComponent == NULL)
} else {
try {
result = Main(m_Arguments);
- } catch (const exception& ex) {
+ } catch (const std::exception& ex) {
Application::m_Instance.reset();
Application::Log("---");
*
* @ingroup base
*/
-class I2_BASE_API Exception : public virtual exception
+class I2_BASE_API Exception : public virtual std::exception
{
public:
Exception(void);
#include <cerrno>
#include <string>
+#include <exception>
#include <sstream>
#include <vector>
#include <set>
#include <list>
#include <algorithm>
+using namespace std;
+using std::exception;
+
#ifdef HAVE_CXX11
# include <memory>
# include <functional>
-using namespace std;
using namespace std::placeholders;
#else /* HAVE_CXX11 */
# ifdef HAVE_BOOST
-# include <boost/tr1/memory.hpp>
-# include <boost/tr1/functional.hpp>
+# include <boost/smart_ptr.hpp>
+# include <boost/make_shared.hpp>
+# include <boost/bind.hpp>
+# include <boost/function.hpp>
-using namespace std;
+using namespace boost;
# else /* HAVE_BOOST */
# include <tr1/memory>
# include <tr1/functional>
# include "cxx11-compat.h"
-using namespace std;
-using namespace std::placeholders;
+using namespace std::tr1;
+using namespace std::tr1::placeholders;
-# endif /* HAVE_BOOST */
+#endif /* HAVE_BOOST */
#endif /* HAVE_CXX11 */
#if defined(__APPLE__) && defined(__MACH__)
while (*m++);
};
return mask;
-}
\ No newline at end of file
+}
+