Loading...
Searching...
No Matches
libdar::mask Class Referenceabstract
API

the generic class, parent of all masks More...

`#include <mask.hpp>`

Inherited by libdar::bool_mask, libdar::et_mask, libdar::exclude_dir_mask, libdar::mask_list, libdar::not_mask, libdar::regular_mask, libdar::same_path_mask, libdar::simple_mask, and libdar::simple_path_mask.

## Public Member Functions

| mask (const mask &ref)=default
| mask (mask &&ref) noexcept=default
mask & | operator= (const mask &ref)=default
mask & | operator= (mask &&ref) noexcept=default
virtual bool | is_covered (const std::string &expression) const =0
| check wether the given string is covered by the mask
virtual bool | is_covered (const path &chemin) const
| check whether the given path is covered by the mask
virtual std::string | dump (const std::string &prefix="") const =0
| dump in human readable form the nature of the mask
virtual mask * | clone () const =0

## Detailed Description

the generic class, parent of all masks

this is a pure virtual class that is used in API call any of the following mask classes inherit from this class

Definition at line 61 of file mask.hpp.

## Constructor & Destructor Documentation

## mask()

libdar::mask::mask | ( |  | ) |

inline

Definition at line 64 of file mask.hpp.

## Member Function Documentation

## clone()

virtual mask * libdar::mask::clone | ( |  | ) | const

pure virtual

this is to be able to copy a mask without knowing its exact class and without loosing its specialized data

Implemented in libdar::bool_mask, libdar::simple_mask, libdar::regular_mask, libdar::not_mask, libdar::et_mask, libdar::ou_mask, libdar::simple_path_mask, libdar::same_path_mask, libdar::exclude_dir_mask, and libdar::mask_list.

## dump()

virtual std::string libdar::mask::dump | ( | const std::string & | prefix = `""` | ) | const

pure virtual

dump in human readable form the nature of the mask

Parameters

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

Implemented in libdar::bool_mask, libdar::simple_mask, libdar::regular_mask, libdar::not_mask, libdar::et_mask, libdar::ou_mask, libdar::simple_path_mask, libdar::same_path_mask, libdar::exclude_dir_mask, and libdar::mask_list.

## is_covered() [1/2]

virtual bool libdar::mask::is_covered | ( | const path & | chemin | ) | const

inline 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 in libdar::bool_mask, libdar::not_mask, libdar::et_mask, libdar::ou_mask, libdar::simple_path_mask, and libdar::exclude_dir_mask.

Definition at line 84 of file mask.hpp.

References libdar::path::display(), and is_covered().

Referenced by is_covered().

## is_covered() [2/2]

virtual bool libdar::mask::is_covered | ( | const std::string & | expression | ) | const

pure virtual

check wether the given string is covered by the mask

Parameters

  [in] | expression | is the filename to check

Returns
  true if the given filename is covered by the mask

Note
  only libdar internally needs to call this method

Implemented in libdar::same_path_mask, libdar::bool_mask, libdar::simple_mask, libdar::regular_mask, libdar::not_mask, libdar::et_mask, libdar::ou_mask, libdar::simple_path_mask, libdar::exclude_dir_mask, and libdar::mask_list.

Referenced by libdar::not_mask::is_covered(), and libdar::not_mask::is_covered().

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

- mask.hpp