SCIRun  5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros | Typedefs | Functions
AlgorithmBase.h File Reference
#include <string>
#include <set>
#include <stdexcept>
#include <iosfwd>
#include <boost/variant.hpp>
#include <boost/function.hpp>
#include <boost/noncopyable.hpp>
#include <Core/Logging/LoggerInterface.h>
#include <Core/Utils/Exception.h>
#include <Core/Algorithms/Base/AlgorithmFwd.h>
#include <Core/Datatypes/DatatypeFwd.h>
#include <Core/Datatypes/HasId.h>
#include <Core/Utils/ProgressReporter.h>
#include <Core/Utils/StringUtil.h>
#include <Core/Algorithms/Base/share.h>

Go to the source code of this file.

Classes

struct  Name
 
class  AlgoOption
 
class  Variable
 
class  AlgorithmLogger
 
class  AlgorithmStatusReporter
 
class  ScopedAlgorithmStatusReporter
 
class  AlgorithmData
 
class  AlgorithmInput
 
class  AlgorithmOutput
 
class  AlgorithmInterface
 
class  AlgorithmParameterList
 
class  AlgoInputBuilder
 
class  AlgorithmBase
 
class  AlgorithmCollaborator
 
class  AlgorithmFactory
 

Namespaces

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

Macros

#define make_input(list)   SCIRun::Core::Algorithms::AlgoInputBuilder() list .build()
 
#define make_output(portName)   SCIRun::Core::Algorithms::AlgorithmParameterName(#portName)
 
#define get_output(outputObj, portName, type)   boost::dynamic_pointer_cast<type>(outputObj[make_output(portName)]);
 
#define ALGORITHM_PARAMETER_DECL(name)   namespace Parameters { SCISHARE extern const SCIRun::Core::Algorithms::AlgorithmParameterName name; }
 
#define ALGORITHM_PARAMETER_DEF(ns, name)   const SCIRun::Core::Algorithms::AlgorithmParameterName SCIRun::Core::Algorithms::ns::Parameters::name(#name);
 

Typedefs

typedef Name AlgorithmParameterName
 
typedef Name AlgorithmInputName
 
typedef Name AlgorithmOutputName
 
typedef Variable AlgorithmParameter
 
typedef boost::shared_ptr
< AlgorithmInput > 
AlgorithmInputHandle
 
typedef boost::shared_ptr
< AlgorithmOutput > 
AlgorithmOutputHandle
 

Functions

SCISHARE bool operator== (const Name &lhs, const Name &rhs)
 
SCISHARE std::ostream & operator<< (std::ostream &out, const Name &name)
 
SCISHARE bool operator== (const AlgoOption &lhs, const AlgoOption &rhs)
 
SCISHARE std::ostream & operator<< (std::ostream &out, const AlgoOption &op)
 
SCISHARE bool operator== (const Variable &lhs, const Variable &rhs)
 
SCISHARE std::ostream & operator<< (std::ostream &out, const Variable &var)
 
SCISHARE AlgorithmInput makeNullInput ()
 
template<typename T >
boost::shared_ptr< T > optionalAlgoInput (boost::optional< boost::shared_ptr< T >> opt)
 

Macro Definition Documentation

#define ALGORITHM_PARAMETER_DECL (   name)    namespace Parameters { SCISHARE extern const SCIRun::Core::Algorithms::AlgorithmParameterName name; }
#define ALGORITHM_PARAMETER_DEF (   ns,
  name 
)    const SCIRun::Core::Algorithms::AlgorithmParameterName SCIRun::Core::Algorithms::ns::Parameters::name(#name);
#define get_output (   outputObj,
  portName,
  type 
)    boost::dynamic_pointer_cast<type>(outputObj[make_output(portName)]);
#define make_input (   list)    SCIRun::Core::Algorithms::AlgoInputBuilder() list .build()
#define make_output (   portName)    SCIRun::Core::Algorithms::AlgorithmParameterName(#portName)