| Disk ARchive 2.6.12 Full featured and portable backup and archiving tool

Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
libdar::et_mask Class Reference
API

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

`#include <mask.hpp>`

Inherits libdar::mask.

Inherited by libdar::ou_mask.

## Public Member Functions
| et_mask ()=default
| the constructor to be used by libdar external programs More...
| et_mask (const et_mask &m)
| copy constructor
| et_mask (et_mask &&m) noexcept
| move constructor
et_mask & | operator= (const et_mask &m)
| assignment operator
et_mask & | operator= (et_mask &&m) noexcept
| move operator
| ~et_mask ()
| destructor
void | add_mask (const mask &toadd)
| add a mask to the operator More...
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 More...
std::string | dump (const std::string &prefix) const override
| dump in human readable form the nature of the mask More...
mask * | clone () const override
| inherited from the mask class
U_I | size () const
| the number of mask on which is done the AND operator More...
void | clear ()
| clear the mask More...
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

## Protected Member Functions
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

## Detailed Description

makes an AND operator between two or more masks

Definition at line 272 of file mask.hpp.

## Constructor & Destructor Documentation

## ◆ et_mask()

libdar::et_mask::et_mask | ( |  | ) |
| default

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

Referenced by clone().

## Member Function Documentation

## ◆ add_mask()

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

add a mask to the operator

Parameters

  [in] | toadd | a 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()

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 325 of file mask.hpp.

## ◆ dump()

std::string libdar::et_mask::dump | ( | const std::string & | prefix | ) | const
| inline override virtual

dump in human readable form the nature of the mask

Parameters

  [in] | prefix | used for indentation withing the output string

Implements libdar::mask.

Reimplemented in libdar::ou_mask.

Definition at line 309 of file mask.hpp.

## ◆ is_covered()

bool libdar::et_mask::is_covered | ( | const path & | chemin | ) | const
| inline override virtual

check whether the given path is covered by the mask

Parameters

  [in] | chemin | is 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.

Definition at line 308 of file mask.hpp.

## ◆ size()

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 mask.hpp.

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

- mask.hpp