Disk ARchive 2.7.16
Full featured and portable backup and archiving tool
Public Member Functions | Private Member Functions | Private Attributes | List of all members
libdar::testing Class Reference

the testing class binds criterium to actions More...

#include <crit_action.hpp>

+ Inheritance diagram for libdar::testing:
+ Collaboration diagram for libdar::testing:

Public Member Functions

 testing (const criterium &input, const crit_action &go_true, const crit_action &go_false)
 the constructor More...
 
 testing (const testing &ref)
 
 testing (testing &&ref) noexcept
 
testingoperator= (const testing &ref)
 
testingoperator= (testing &&ref) noexcept
 
virtual void get_action (const cat_nomme &first, const cat_nomme &second, over_action_data &data, over_action_ea &ea) const override
 the inherited pure virtual method from class crit_action that must be implemented More...
 
virtual crit_actionclone () const override
 clone construction method More...
 
- Public Member Functions inherited from libdar::crit_action
 crit_action (const crit_action &ref)=default
 
 crit_action (crit_action &&ref) noexcept=default
 
crit_actionoperator= (const crit_action &ref)=default
 
crit_actionoperator= (crit_action &&ref) noexcept=default
 
virtual ~crit_action ()=default
 the destructor
 
virtual void get_action (const cat_nomme &first, const cat_nomme &second, over_action_data &data, over_action_ea &ea) const =0
 the action to take based on the files to compare More...
 
virtual crit_actionclone () const =0
 clone construction method More...
 

Private Member Functions

void nullifyptr () noexcept
 
void free () noexcept
 
void copy_from (const testing &ref)
 
void move_from (testing &&ref) noexcept
 
bool check () const
 returns false if an field is nullptr
 

Private Attributes

criteriumx_input
 
crit_actionx_go_true
 
crit_actionx_go_false
 

Detailed Description

the testing class binds criterium to actions

a testing class is also an action that let the user build complex testing. It is thus possible to recursively use testing inside testing

Definition at line 142 of file crit_action.hpp.

Constructor & Destructor Documentation

◆ testing() [1/3]

libdar::testing::testing ( const criterium input,
const crit_action go_true,
const crit_action go_false 
)

the constructor

Parameters
[in]inputis the criterium to base the evaluation on
[in]go_trueis the action to use for evaluation if the criterium states true
[in]go_falseis the action to use for evaluation if the criterium states false

Referenced by clone().

◆ testing() [2/3]

libdar::testing::testing ( const testing ref)
inline

Definition at line 151 of file crit_action.hpp.

◆ testing() [3/3]

libdar::testing::testing ( testing &&  ref)
inlinenoexcept

Definition at line 152 of file crit_action.hpp.

◆ ~testing()

libdar::testing::~testing ( )
inline

Definition at line 155 of file crit_action.hpp.

Member Function Documentation

◆ clone()

virtual crit_action * libdar::testing::clone ( ) const
inlineoverridevirtual

clone construction method

Returns
a new object of the same type,
Note
this method must be implemented in all the leaf classes of the class crit_action hierarchy

Implements libdar::crit_action.

Definition at line 167 of file crit_action.hpp.

References testing().

◆ get_action()

virtual void libdar::testing::get_action ( const cat_nomme first,
const cat_nomme second,
over_action_data data,
over_action_ea ea 
) const
inlineoverridevirtual

the inherited pure virtual method from class crit_action that must be implemented

Implements libdar::crit_action.

Definition at line 159 of file crit_action.hpp.

References libdar::compile_time::ea(), libdar::criterium::evaluate(), and libdar::crit_action::get_action().

◆ nullifyptr()

void libdar::testing::nullifyptr ( )
inlineprivatenoexcept

Definition at line 174 of file crit_action.hpp.

◆ operator=() [1/2]

testing & libdar::testing::operator= ( const testing ref)
inline

Definition at line 153 of file crit_action.hpp.

◆ operator=() [2/2]

testing & libdar::testing::operator= ( testing &&  ref)
inlinenoexcept

Definition at line 154 of file crit_action.hpp.

Member Data Documentation

◆ x_go_false

crit_action* libdar::testing::x_go_false
private

Definition at line 172 of file crit_action.hpp.

◆ x_go_true

crit_action* libdar::testing::x_go_true
private

Definition at line 171 of file crit_action.hpp.

◆ x_input

criterium* libdar::testing::x_input
private

Definition at line 170 of file crit_action.hpp.


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