Mantid
Loading...
Searching...
No Matches
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Mantid::Kernel::LambdaValidator< ParamType > Class Template Reference

LambdaValidator provides a quick way to create custom validation objects using a validator function or lambda expression. More...

#include <LambdaValidator.h>

Inheritance diagram for Mantid::Kernel::LambdaValidator< ParamType >:

Public Member Functions

IValidator_sptr clone () const override
 
 LambdaValidator ()
 
 LambdaValidator (const ValidatorFunction &validatorFunction)
 
void setValidatorFunction (const ValidatorFunction &validatorFunction)
 

Private Types

using ValidatorFunction = std::function< std::string(ParamType)>
 

Private Member Functions

std::string checkValidity (const ParamType &value) const override
 

Private Attributes

ValidatorFunction m_validatorFunction
 

Detailed Description

template<typename ParamType>
class Mantid::Kernel::LambdaValidator< ParamType >

LambdaValidator provides a quick way to create custom validation objects using a validator function or lambda expression.

The class uses TypedValidator to extract the parameter type and then pass it to the vaildtor function.

The function used for validation should accept one parameter, the variable to be validated, and returns an error string (empty string for no error).

Definition at line 23 of file LambdaValidator.h.

Member Typedef Documentation

◆ ValidatorFunction

template<typename ParamType >
using Mantid::Kernel::LambdaValidator< ParamType >::ValidatorFunction = std::function<std::string(ParamType)>
private

Definition at line 24 of file LambdaValidator.h.

Constructor & Destructor Documentation

◆ LambdaValidator() [1/2]

template<typename ParamType >
Mantid::Kernel::LambdaValidator< ParamType >::LambdaValidator ( )
inline

Definition at line 27 of file LambdaValidator.h.

References Mantid::Geometry::x.

◆ LambdaValidator() [2/2]

template<typename ParamType >
Mantid::Kernel::LambdaValidator< ParamType >::LambdaValidator ( const ValidatorFunction validatorFunction)
inline

Definition at line 29 of file LambdaValidator.h.

Member Function Documentation

◆ checkValidity()

template<typename ParamType >
std::string Mantid::Kernel::LambdaValidator< ParamType >::checkValidity ( const ParamType &  value) const
inlineoverrideprivate

Definition at line 36 of file LambdaValidator.h.

References value.

◆ clone()

template<typename ParamType >
IValidator_sptr Mantid::Kernel::LambdaValidator< ParamType >::clone ( ) const
inlineoverride

Definition at line 31 of file LambdaValidator.h.

◆ setValidatorFunction()

template<typename ParamType >
void Mantid::Kernel::LambdaValidator< ParamType >::setValidatorFunction ( const ValidatorFunction validatorFunction)
inline

Definition at line 33 of file LambdaValidator.h.

Member Data Documentation

◆ m_validatorFunction

template<typename ParamType >
ValidatorFunction Mantid::Kernel::LambdaValidator< ParamType >::m_validatorFunction
private

Definition at line 38 of file LambdaValidator.h.


The documentation for this class was generated from the following file: