ECF 1.5
Min.h
1#ifndef ECF_CARTESIAN_MIN_H
2#define ECF_CARTESIAN_MIN_H
3#include "Function.h"
4namespace cartesian{
5 template <typename Container, typename Result>
6 class Min : public Function<Container,Result> {
7 public:
8 Min();
9 ~Min(){};
10 void evaluate(Container& container, Result& result);
11 };
12
13 template <typename Container, typename Result>
15 {
16 this->name_ = "min";
17 this->numOfArgs_ = 2;
18 }
19
20 template <typename Container, typename Result>
21 void Min<Container,Result>::evaluate(Container& container, Result& result)
22 {
23 result = *container.begin();
24 for(typename Container::iterator it = container.begin(); it != container.begin() + this->numOfArgs_; it++) {
25 result = (*it) > result ? (result) : (*it);
26 }
27 }
28}
29#endif //ECF_CARTESIAN_MIN_H
void evaluate(Container &container, Result &result)
Definition: Min.h:21