42 |
|
#ifndef IO_PARAMCONSTRAINT_HPP |
43 |
|
#define IO_PARAMCONSTRAINT_HPP |
44 |
|
#include <sstream> |
45 |
< |
|
45 |
> |
#include "utils/CaseConversion.hpp" |
46 |
|
/** |
47 |
|
* This class allows to recognize constraint predicates, so that they can be combined using |
48 |
|
* composition operators. Every constraint predicate must be derived from this class |
169 |
|
|
170 |
|
struct EqualIgnoreCaseConstraint : public ParamConstraintFacade<EqualIgnoreCaseConstraint> { |
171 |
|
|
172 |
< |
EqualIgnoreCaseConstraint(std::string rhs) : rhs_(rhs){ |
172 |
> |
EqualIgnoreCaseConstraint(std::string rhs) : rhs_(oopse::toUpperCopy(rhs)){ |
173 |
|
std::stringstream iss; |
174 |
|
iss << "equal to (case insensitive) " << rhs; |
175 |
|
description_ = iss.str(); |
176 |
|
} |
177 |
|
|
178 |
|
bool operator()( std::string data ) const { |
179 |
< |
return data == rhs_; |
179 |
> |
return oopse::toUpperCopy(data) == rhs_; |
180 |
|
} |
181 |
|
|
182 |
|
private: |