Disk ARchive 2.8.3
Full featured and portable backup and archiving tool
Loading...
Searching...
No Matches
libdar::et_mask Class Reference

makes an AND operator between two or more masks More...

#include <mask.hpp>

Inherits libdar::mask, and libdar::mask.

Inherited by libdar::ou_mask, and libdar::ou_mask.

Public Member Functions

 et_mask ()
 the constructor to be used by libdar external programs
 et_mask (const et_mask &m)
 copy constructor
 et_mask (et_mask &&m) noexcept
 move constructor
et_maskoperator= (const et_mask &m)
 assignment operator
et_maskoperator= (et_mask &&m) noexcept
 move operator
 ~et_mask ()
 destructor
void add_mask (const mask &toadd)
 add a mask to the operator
bool is_covered (const std::string &expression) const override
 inherited from the mask class
bool is_covered (const path &chemin) const override
 check whether the given path is covered by the mask
std::string dump (const std::string &prefix) const override
 dump in human readable form the nature of the mask
mask * clone () const override
 inherited from the mask class
U_I size () const
 the number of mask on which is done the AND operator
const mask * get_added (U_I index) const
 return a pointer by index to composing mask (index start at zero and should be strictly less than what size() returns)
void clear ()
 clear the mask
 et_mask ()
 the constructor to be used by libdar external programs
 et_mask (const et_mask &m)
 copy constructor
 et_mask (et_mask &&m) noexcept
 move constructor
et_maskoperator= (const et_mask &m)
 assignment operator
et_maskoperator= (et_mask &&m) noexcept
 move operator
 ~et_mask ()
 destructor
void add_mask (const mask &toadd)
 add a mask to the operator
bool is_covered (const std::string &expression) const override
 inherited from the mask class
bool is_covered (const path &chemin) const override
 check whether the given path is covered by the mask
std::string dump (const std::string &prefix) const override
 dump in human readable form the nature of the mask
mask * clone () const override
 inherited from the mask class
U_I size () const
 the number of mask on which is done the AND operator
const mask * get_added (U_I index) const
 return a pointer by index to composing mask (index start at zero and should be strictly less than what size() returns)
void clear ()
 clear the mask
Public Member Functions inherited from libdar::mask
 mask (const mask &ref)=default
 mask (mask &&ref) noexcept=default
mask & operator= (const mask &ref)=default
mask & operator= (mask &&ref) noexcept=default
 mask (const mask &ref)=default
 mask (mask &&ref) noexcept=default
mask & operator= (const mask &ref)=default
mask & operator= (mask &&ref) noexcept=default

Protected Member Functions

std::string dump_logical (const std::string &prefix, const std::string &boolop) const
std::string dump_logical (const std::string &prefix, const std::string &boolop) const

Protected Attributes

std::deque< mask * > lst

Private Member Functions

void copy_from (const et_mask &m)
void move_from (et_mask &&m) noexcept
void detruit ()
template<class T>
bool t_is_covered (const T &expression) const
void copy_from (const et_mask &m)
void move_from (et_mask &&m) noexcept
void detruit ()
template<class T>
bool t_is_covered (const T &expression) const

Detailed Description

makes an AND operator between two or more masks

Definition at line 272 of file dar64-2.8.3-win64/include/dar/mask.hpp.

Constructor & Destructor Documentation

◆ et_mask() [1/6]

libdar::et_mask::et_mask ( )
inline

the constructor to be used by libdar external programs

Note
at this stage the mask is not usable and will throw an exception until some mask are added to the AND thanks to the add_mask() method

Definition at line 281 of file dar64-2.8.3-win64/include/dar/mask.hpp.

Referenced by clone(), et_mask(), et_mask(), operator=(), and operator=().

◆ et_mask() [2/6]

libdar::et_mask::et_mask ( const et_mask & m)
inline

copy constructor

Definition at line 284 of file dar64-2.8.3-win64/include/dar/mask.hpp.

References et_mask().

◆ et_mask() [3/6]

libdar::et_mask::et_mask ( et_mask && m)
inlinenoexcept

move constructor

Definition at line 287 of file dar64-2.8.3-win64/include/dar/mask.hpp.

References et_mask().

◆ ~et_mask() [1/2]

libdar::et_mask::~et_mask ( )
inline

destructor

Definition at line 296 of file dar64-2.8.3-win64/include/dar/mask.hpp.

◆ et_mask() [4/6]

libdar::et_mask::et_mask ( )
inline

the constructor to be used by libdar external programs

Note
at this stage the mask is not usable and will throw an exception until some mask are added to the AND thanks to the add_mask() method

Definition at line 281 of file src/libdar/mask.hpp.

◆ et_mask() [5/6]

libdar::et_mask::et_mask ( const et_mask & m)
inline

copy constructor

Definition at line 284 of file src/libdar/mask.hpp.

References et_mask().

◆ et_mask() [6/6]

libdar::et_mask::et_mask ( et_mask && m)
inlinenoexcept

move constructor

Definition at line 287 of file src/libdar/mask.hpp.

References et_mask().

◆ ~et_mask() [2/2]

libdar::et_mask::~et_mask ( )
inline

destructor

Definition at line 296 of file src/libdar/mask.hpp.

Member Function Documentation

◆ add_mask() [1/2]

void libdar::et_mask::add_mask ( const mask & toadd)

add a mask to the operator

Parameters
[in]toadda mask to add to the AND operator
Note
the mask given in argument has not to survive the et_mask to which it has been added a internal copy of the mask has been done.

◆ add_mask() [2/2]

void libdar::et_mask::add_mask ( const mask & toadd)

add a mask to the operator

Parameters
[in]toadda mask to add to the AND operator
Note
the mask given in argument has not to survive the et_mask to which it has been added a internal copy of the mask has been done.

◆ clear() [1/2]

void libdar::et_mask::clear ( )
inline

clear the mask

remove all previously added masks

Note
that after this call the mask is no more usable as the AND operator cannot be done on any mask

Definition at line 328 of file dar64-2.8.3-win64/include/dar/mask.hpp.

◆ clear() [2/2]

void libdar::et_mask::clear ( )
inline

clear the mask

remove all previously added masks

Note
that after this call the mask is no more usable as the AND operator cannot be done on any mask

Definition at line 328 of file src/libdar/mask.hpp.

◆ clone() [1/2]

mask * libdar::et_mask::clone ( ) const
inlineoverridevirtual

inherited from the mask class

Implements libdar::mask.

Reimplemented in libdar::ou_mask, and libdar::ou_mask.

Definition at line 312 of file dar64-2.8.3-win64/include/dar/mask.hpp.

References et_mask().

◆ clone() [2/2]

mask * libdar::et_mask::clone ( ) const
inlineoverridevirtual

inherited from the mask class

Implements libdar::mask.

Reimplemented in libdar::ou_mask, and libdar::ou_mask.

Definition at line 312 of file src/libdar/mask.hpp.

References et_mask().

◆ dump() [1/2]

std::string libdar::et_mask::dump ( const std::string & prefix) const
inlineoverridevirtual

dump in human readable form the nature of the mask

Parameters
[in]prefixused for indentation withing the output string

Implements libdar::mask.

Reimplemented in libdar::ou_mask, and libdar::ou_mask.

Definition at line 309 of file dar64-2.8.3-win64/include/dar/mask.hpp.

◆ dump() [2/2]

std::string libdar::et_mask::dump ( const std::string & prefix) const
inlineoverridevirtual

dump in human readable form the nature of the mask

Parameters
[in]prefixused for indentation withing the output string

Implements libdar::mask.

Reimplemented in libdar::ou_mask, and libdar::ou_mask.

Definition at line 309 of file src/libdar/mask.hpp.

◆ get_added() [1/2]

const mask * libdar::et_mask::get_added ( U_I index) const
inline

return a pointer by index to composing mask (index start at zero and should be strictly less than what size() returns)

Definition at line 321 of file dar64-2.8.3-win64/include/dar/mask.hpp.

◆ get_added() [2/2]

const mask * libdar::et_mask::get_added ( U_I index) const
inline

return a pointer by index to composing mask (index start at zero and should be strictly less than what size() returns)

Definition at line 321 of file src/libdar/mask.hpp.

◆ is_covered() [1/4]

bool libdar::et_mask::is_covered ( const path & chemin) const
inlineoverridevirtual

check whether the given path is covered by the mask

Parameters
[in]cheminis the path to check
Returns
true if the given path is covered by the mask
Note
only libdar internally needs to call this method
this is an optional method to the previous one, it can be overwritten

Reimplemented from libdar::mask.

Reimplemented in libdar::ou_mask, and libdar::ou_mask.

Definition at line 308 of file dar64-2.8.3-win64/include/dar/mask.hpp.

◆ is_covered() [2/4]

bool libdar::et_mask::is_covered ( const path & chemin) const
inlineoverridevirtual

check whether the given path is covered by the mask

Parameters
[in]cheminis the path to check
Returns
true if the given path is covered by the mask
Note
only libdar internally needs to call this method
this is an optional method to the previous one, it can be overwritten

Reimplemented from libdar::mask.

Reimplemented in libdar::ou_mask, and libdar::ou_mask.

Definition at line 308 of file src/libdar/mask.hpp.

◆ is_covered() [3/4]

bool libdar::et_mask::is_covered ( const std::string & expression) const
inlineoverridevirtual

inherited from the mask class

Implements libdar::mask.

Reimplemented in libdar::ou_mask, and libdar::ou_mask.

Definition at line 307 of file dar64-2.8.3-win64/include/dar/mask.hpp.

◆ is_covered() [4/4]

bool libdar::et_mask::is_covered ( const std::string & expression) const
inlineoverridevirtual

inherited from the mask class

Implements libdar::mask.

Reimplemented in libdar::ou_mask, and libdar::ou_mask.

Definition at line 307 of file src/libdar/mask.hpp.

◆ operator=() [1/2]

et_mask & libdar::et_mask::operator= ( et_mask && m)
inlinenoexcept

move operator

Definition at line 293 of file dar64-2.8.3-win64/include/dar/mask.hpp.

References et_mask().

◆ operator=() [2/2]

et_mask & libdar::et_mask::operator= ( et_mask && m)
inlinenoexcept

move operator

Definition at line 293 of file src/libdar/mask.hpp.

References et_mask().

◆ size() [1/2]

U_I libdar::et_mask::size ( ) const
inline

the number of mask on which is done the AND operator

Returns
the number of mask that has been added thanks to the add_mask() method
Note
there is no mean to remove a given mask once it has been added (see the clear method)

Definition at line 318 of file dar64-2.8.3-win64/include/dar/mask.hpp.

◆ size() [2/2]

U_I libdar::et_mask::size ( ) const
inline

the number of mask on which is done the AND operator

Returns
the number of mask that has been added thanks to the add_mask() method
Note
there is no mean to remove a given mask once it has been added (see the clear method)

Definition at line 318 of file src/libdar/mask.hpp.

◆ t_is_covered() [1/2]

template<class T>
bool libdar::et_mask::t_is_covered ( const T & expression) const
inlineprivate

Definition at line 340 of file dar64-2.8.3-win64/include/dar/mask.hpp.

◆ t_is_covered() [2/2]

template<class T>
bool libdar::et_mask::t_is_covered ( const T & expression) const
inlineprivate

Definition at line 340 of file src/libdar/mask.hpp.

Member Data Documentation

◆ lst

std::deque< mask * > libdar::et_mask::lst
protected

Definition at line 331 of file dar64-2.8.3-win64/include/dar/mask.hpp.


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