SCIRun  5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros
AlgorithmPreconditions.h File Reference
#include <string>
#include <stdexcept>
#include <Core/Utils/Exception.h>
#include <Core/Algorithms/Base/share.h>

Go to the source code of this file.

Classes

struct  AlgorithmInputException
 
struct  AlgorithmProcessingException
 
struct  AlgorithmParameterNotFound
 

Namespaces

 SCIRun
 STL datatypes needed.
 
 SCIRun::Core
 
 SCIRun::Core::Algorithms
 

Macros

#define THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE_AND_MESSAGE(type, messageToPrint, messageForErrorObject)   { error(messageToPrint); BOOST_THROW_EXCEPTION(SCIRun::Core::Algorithms::AlgorithmInputException() << type((messageForErrorObject))); }
 
#define THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE(type, message)   THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE_AND_MESSAGE(type, message, message)
 
#define THROW_ALGORITHM_INPUT_ERROR(message)   THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE(SCIRun::Core::ErrorMessage, message)
 
#define THROW_ALGORITHM_INPUT_ERROR_SIMPLE(message)   BOOST_THROW_EXCEPTION(SCIRun::Core::Algorithms::AlgorithmInputException() << SCIRun::Core::ErrorMessage((message)));
 
#define THROW_ALGORITHM_PROCESSING_ERROR_WITH_TYPE(type, message)   { error(message); BOOST_THROW_EXCEPTION(SCIRun::Core::Algorithms::AlgorithmProcessingException() << type((message))); }
 
#define THROW_ALGORITHM_PROCESSING_ERROR(message)   THROW_ALGORITHM_PROCESSING_ERROR_WITH_TYPE(SCIRun::Core::ErrorMessage, message)
 
#define ENSURE_ALGORITHM_INPUT_NOT_NULL(var, message)   if (!(var)) THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE(SCIRun::Core::NullObjectInfo, message) else (void)0
 
#define ENSURE_POSITIVE_DOUBLE(var, message)
 
#define ENSURE_POSITIVE_INT(var, message)
 
#define ENSURE_FILE_EXISTS(filename)
 

Macro Definition Documentation

#define ENSURE_ALGORITHM_INPUT_NOT_NULL (   var,
  message 
)    if (!(var)) THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE(SCIRun::Core::NullObjectInfo, message) else (void)0
#define ENSURE_FILE_EXISTS (   filename)
Value:
if (!boost::filesystem::exists(filename))\
THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE(FileNotFound, std::string("File not found: (") + (filename.size() != 0 ? filename : "<no file set>") + ")") \
else (void)0
#define THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE(type, message)
Definition: AlgorithmPreconditions.h:54
boost::error_info< struct tag_file_not_found, std::string > FileNotFound
Definition: Exception.h:54
#define ENSURE_POSITIVE_DOUBLE (   var,
  message 
)
Value:
if ((var) <= 0) \
DoubleOutOfRangeInfo::value_type( \
std::string(message), \
var, \
boost::numeric::interval<double>(0, std::numeric_limits<double>::infinity()))) \
else (void)0
boost::error_info< struct tag_double_out_of_range, boost::tuple< std::string, double, boost::numeric::interval< double > > > DoubleOutOfRangeInfo
Definition: Exception.h:58
#define THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE_AND_MESSAGE(type, messageToPrint, messageForErrorObject)
Definition: AlgorithmPreconditions.h:53
#define ENSURE_POSITIVE_INT (   var,
  message 
)
Value:
if ((var) <= 0) \
IntOutOfRangeInfo::value_type( \
std::string(message), \
var, \
boost::numeric::interval<int>(0, std::numeric_limits<int>::infinity()))) \
else (void)0
boost::error_info< struct tag_int_out_of_range, boost::tuple< std::string, int, boost::numeric::interval< int > > > IntOutOfRangeInfo
Definition: Exception.h:59
#define THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE_AND_MESSAGE(type, messageToPrint, messageForErrorObject)
Definition: AlgorithmPreconditions.h:53
#define THROW_ALGORITHM_INPUT_ERROR (   message)    THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE(SCIRun::Core::ErrorMessage, message)
#define THROW_ALGORITHM_INPUT_ERROR_SIMPLE (   message)    BOOST_THROW_EXCEPTION(SCIRun::Core::Algorithms::AlgorithmInputException() << SCIRun::Core::ErrorMessage((message)));
#define THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE (   type,
  message 
)    THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE_AND_MESSAGE(type, message, message)
#define THROW_ALGORITHM_INPUT_ERROR_WITH_TYPE_AND_MESSAGE (   type,
  messageToPrint,
  messageForErrorObject 
)    { error(messageToPrint); BOOST_THROW_EXCEPTION(SCIRun::Core::Algorithms::AlgorithmInputException() << type((messageForErrorObject))); }
#define THROW_ALGORITHM_PROCESSING_ERROR (   message)    THROW_ALGORITHM_PROCESSING_ERROR_WITH_TYPE(SCIRun::Core::ErrorMessage, message)
#define THROW_ALGORITHM_PROCESSING_ERROR_WITH_TYPE (   type,
  message 
)    { error(message); BOOST_THROW_EXCEPTION(SCIRun::Core::Algorithms::AlgorithmProcessingException() << type((message))); }