/* * Project: MoleCuilder * Description: creates and alters molecular systems * Copyright (C) 2010 University of Bonn. All rights reserved. * Please see the LICENSE file or "Copyright notice" in builder.cpp for details. */ /** * \file validators.dox * * Created on: Jan 20, 2013 * Author: ankele */ /** \page validators Validators * * Validators define constraints for variables. A given variable can be * tested whether or not it fulfills the constraints by executing the * validator's isValid() function. Equivalently the Validator::operator() * can be used. * * Their main purpose is to constrain user input for \ref parameters in \ref actions. * * There are several general purpose validators, for example: * - DummyValidator (no constraint) * - DiscreteValidator (is the variable element of a given set) * - RangeValidator (is the variable inside a halfopen interval) * - STLVectorValidator (defines a constraint for each element and/or for the number of elements) * * Validators can also be joined via and/or/not operations: * \code * RealSpaceMatrixSymmetricValidator() && RealSpaceMatrixInvertibleValidator() * \endcode * * The type of the variable is static. The base class Validator has a template * parameter to define the type. Some derived validators don't have template * parameters because they are derived from a Validator. * * \date 2013-01-28 * */