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::crit_chain Class Reference

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

#include <crit_action.hpp>

+ Inheritance diagram for libdar::crit_chain:
+ Collaboration diagram for libdar::crit_chain:

Public Member Functions

 crit_chain (const crit_chain &ref)
 
 crit_chain (crit_chain &&ref) noexcept
 
crit_chainoperator= (const crit_chain &ref)
 
crit_chainoperator= (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_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 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)
inlinenoexcept

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
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 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
overridevirtual

the action to take based on the files to compare

Parameters
[in]firstis the 'in place' inode
[in]secondis the 'to be added' inode
[out]datais the action to perform with file's data
[out]eais 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)
inlinenoexcept

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: