libcamgm
Public Member Functions | Protected Member Functions | Private Member Functions | Friends | List of all members
ca_mgm::ValueCheckBase Class Referenceabstract

Base class to check a value. More...

#include <ValueCheck.hpp>

Inheritance diagram for ca_mgm::ValueCheckBase:
ca_mgm::ReferenceCounted ca_mgm::ValueCheck ca_mgm::ValueIntCheck ca_mgm::ValuePerlRECheck ca_mgm::ValuePosixRECheck

Public Member Functions

virtual ~ValueCheckBase ()
 
virtual bool isValid (const std::string &value) const =0
 
virtual std::string explain (const std::string &value) const =0
 
- Public Member Functions inherited from ca_mgm::ReferenceCounted
 ReferenceCounted ()
 
 ReferenceCounted (const ReferenceCounted &rhs)
 
virtual ~ReferenceCounted ()
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
unsigned refCount () const
 
void ref () const
 
void unref () const
 

Protected Member Functions

 ValueCheckBase ()
 
- Protected Member Functions inherited from ca_mgm::ReferenceCounted
virtual std::ostream & dumpOn (std::ostream &str) const
 
virtual void ref_to (unsigned) const
 
virtual void unref_to (unsigned) const
 

Private Member Functions

 ValueCheckBase (const ValueCheckBase &r)
 
ValueCheckBaseoperator= (const ValueCheckBase &r)
 

Friends

class ValueCheck
 

Additional Inherited Members

- Static Public Member Functions inherited from ca_mgm::ReferenceCounted
static void add_ref (const ReferenceCounted *ptr_r)
 
static void release (const ReferenceCounted *ptr_r)
 

Detailed Description

Base class to check a value.

The ValueCheckBase class, is a abstract base class, allowing to implement a single check on a string value.

A check derived from this class can be combined in ValueCheck class to expressions.

See also
ValueRegExCheck, ValueIntCheck and the ValueCheck class.

Constructor & Destructor Documentation

◆ ~ValueCheckBase()

virtual ca_mgm::ValueCheckBase::~ValueCheckBase ( )
inlinevirtual

Destructor.

◆ ValueCheckBase() [1/2]

ca_mgm::ValueCheckBase::ValueCheckBase ( )
inlineprotected

Default constructor.

◆ ValueCheckBase() [2/2]

ca_mgm::ValueCheckBase::ValueCheckBase ( const ValueCheckBase r)
inlineprivate

Copy constructor, private. Use the default constructor to implement a copy constructor in your derived class.

Member Function Documentation

◆ explain()

virtual std::string ca_mgm::ValueCheckBase::explain ( const std::string &  value) const
pure virtual

Returns a string explaining / showing the check.

For example, if your check implements the evaluation whether the value (e.g. "2") is lower than 5, implement it as:

return str::form("MyCheck('%1' < 5)", value);

The resulting string will be "MyCheck('2' < 5)" if the value parameter string was "2".

Parameters
valueThe value to evaluate.
Returns
A string showing the check.

Implemented in ca_mgm::ValueCheck, ca_mgm::ValueIntCheck, ca_mgm::ValuePerlRECheck, and ca_mgm::ValuePosixRECheck.

◆ isValid()

virtual bool ca_mgm::ValueCheckBase::isValid ( const std::string &  value) const
pure virtual

Evaluates a check for the specified string value parameter to a boolean or throws an exception on failure.

For example, if you want a check that evaluates whether the value (e.g. "2") is lower than 5, implement it as:

return (value.toInt() < 5);
Parameters
valueThe value to evaluate.
Returns
The boolean result of the check.

Implemented in ca_mgm::ValueCheck, ca_mgm::ValueIntCheck, ca_mgm::ValuePerlRECheck, and ca_mgm::ValuePosixRECheck.

◆ operator=()

ValueCheckBase& ca_mgm::ValueCheckBase::operator= ( const ValueCheckBase r)
private

Copy operator, private.

Friends And Related Function Documentation

◆ ValueCheck

friend class ValueCheck
friend

Permit the ValueCheck class the access to the reference counter.


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