libdar::crit_chain Class Reference
API

the crit_chain class sequences crit_actions up to full definition of the action More...

`#include <crit_action.hpp>`

Inherits libdar::crit_action.

## Public Member Functions

| crit_chain (const crit_chain &ref)
| crit_chain (crit_chain &&ref) noexcept
crit_chain & | operator= (const crit_chain &ref)
crit_chain & | operator= (crit_chain &&ref) noexcept
void | add (const crit_action &act)
void | clear ()
void | gobe (crit_chain &to_be_voided)
virtual void | get_action (const cat_nomme &first, const cat_nomme &second, over_action_data &data, over_action_ea &ea) const override
| the action to take based on the files to compare 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 | destroy ()
void | copy_from (const crit_chain &ref)

## Private Attributes

std::deque< crit_action * > | sequence

## Detailed Description

the crit_chain class sequences crit_actions up to full definition of the action

several expressions must be added. The first is evaluated, then the second, up to the last or up to the step the data_action and ea_action are both fully defined (no data_undefined nor ea_undefined)

Definition at line 187 of file crit_action.hpp.

## Constructor & Destructor Documentation

## crit_chain() [1/3]

libdar::crit_chain::crit_chain | ( |  | ) |

inline

Definition at line 190 of file crit_action.hpp.

## crit_chain() [2/3]

libdar::crit_chain::crit_chain | ( | const crit_chain & | ref | ) |

inline

Definition at line 191 of file crit_action.hpp.

## crit_chain() [3/3]

libdar::crit_chain::crit_chain | ( | crit_chain && | ref | ) |

inline noexcept

Definition at line 192 of file crit_action.hpp.

## ~crit_chain()

libdar::crit_chain::~crit_chain | ( |  | ) |

inline

Definition at line 195 of file crit_action.hpp.

## Member Function Documentation

## clear()

void libdar::crit_chain::clear | ( |  | ) |

inline

Definition at line 198 of file crit_action.hpp.

## clone()

virtual crit_action * libdar::crit_chain::clone | ( |  | ) | const

inline override virtual

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 203 of file crit_action.hpp.

## get_action()

virtual void libdar::crit_chain::get_action | ( | const cat_nomme & | first,
|  | const cat_nomme & | second,
|  | over_action_data & | data,
|  | over_action_ea & | ea
| ) |  | const

override virtual

the action to take based on the files to compare

Parameters

  [in] | first | is the 'in place' inode
  [in] | second | is the 'to be added' inode
  [out] | data | is the action to perform with file's data
  [out] | ea | is the action to perform with file's EA

Implements libdar::crit_action.

## operator=() [1/2]

crit_chain & libdar::crit_chain::operator= | ( | const crit_chain & | ref | ) |

inline

Definition at line 193 of file crit_action.hpp.

## operator=() [2/2]

crit_chain & libdar::crit_chain::operator= | ( | crit_chain && | ref | ) |

inline noexcept

Definition at line 194 of file crit_action.hpp.

## Member Data Documentation

## sequence

std::deque<crit_action *> libdar::crit_chain::sequence

private

Definition at line 206 of file crit_action.hpp.

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

- crit_action.hpp