libdar::testing Class Reference
API

the testing class binds criterium to actions More...

`#include <crit_action.hpp>`

Inherits libdar::crit_action.

## 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
testing & | operator= (const testing &ref)
testing & | operator= (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_action * | clone () 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_action & | operator= (const crit_action &ref)=default
crit_action & | operator= (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_action * | clone () 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

criterium * | x_input
crit_action * | x_go_true
crit_action * | x_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] | input | is the criterium to base the evaluation on
  [in] | go_true | is the action to use for evaluation if the criterium states true
  [in] | go_false | is 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:

- crit_action.hpp