Skip to content
Snippets Groups Projects
StartsWithValidator.cpp 926 B
Newer Older
//----------------------------------------------------------------------
// Includes
//----------------------------------------------------------------------
#include "MantidKernel/StartsWithValidator.h"

namespace Mantid {
namespace Kernel {

/** Checks if the string passed starts with one from the list
  *  @param value :: The value to test
  *  @return "" if the value is on the list, or "The value does not start with
 * any of the allowed values"
std::string StartsWithValidator::checkValidity(const std::string &value) const {
  for (auto it = m_allowedValues.begin(); it != m_allowedValues.end(); ++it) {
    if (value.substr(0, it->size()) == *it) {
  if (isEmpty(value))
    return "Select a value";
  os << "The value \"" << value
     << "\" does not start with any of the allowed values";
  return os.str();
}

} // namespace Kernel
} // namespace Mantid