34 #ifndef CARTOBASE_ALGORITHM_ALGORITHM_H 35 #define CARTOBASE_ALGORITHM_ALGORITHM_H 74 const std::string &doc ) :
77 _documentation( doc ) {}
86 std::string _documentation;
89 std::vector< std::pair< std::string, T > > _choices;
107 template <
typename T>
109 const std::string &documentation );
110 template <
typename T>
112 const std::string &documentation );
119 std::vector< rc_ptr< BaseParameter > > _parameters;
127 template <
typename T>
133 _parameter( pm._parameter ) {}
140 _parameter._optional = o;
146 return choices(
"", value );
152 _parameter._choices.push_back( std::pair<std::string, T>( label,
172 template <
typename T>
180 std::vector< carto::Object > _unnamedParameters;
197 template <
typename T>
206 template <
typename T>
209 const std::string &doc )
218 template <
typename T>
221 const std::string &doc )
233 template <
typename T>
249 #endif //ifndef CARTOBASE_ALGORITHM_ALGORITHM_H ParameterModifier< T > outputParameter(T &ref, const std::string &name, const std::string &documentation)
ParameterModifier< T > optional(bool o=true)
ParameterModifier(const ParameterModifier< T > &pm)
std::ostream & operator<<(std::ostream &out, const VoxelValue< T, C > &aa)
ParameterModifier< T > choice(const T &value)
const AlgorithmCaller::LaunchExecution execute
Parameter(T &ref, const std::string &name, const std::string &doc)
Reference-counting pointer.
ParameterModifier(Parameter< T > &p)
AlgorithmCaller & operator<<(const T &)
A ref is a const_ref which can reference non constant objects.
ParameterModifier< T > inputParameter(T &ref, const std::string &name, const std::string &documentation)
static Object value()
factory function: builds an Object by using the default constructor
ParameterModifier< T > choice(const std::string &label, const T &value)