Disk ARchive  2.7.15
Full featured and portable backup and archiving tool
Public Member Functions | List of all members
libdar::mask Class Referenceabstract

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

#include <mask.hpp>

+ Inheritance diagram for libdar::mask:
+ Collaboration diagram for libdar::mask:

Public Member Functions

 mask (const mask &ref)=default
 
 mask (mask &&ref) noexcept=default
 
maskoperator= (const mask &ref)=default
 
maskoperator= (mask &&ref) noexcept=default
 
virtual bool is_covered (const std::string &expression) const =0
 check wether the given string is covered by the mask More...
 
virtual bool is_covered (const path &chemin) const
 check whether the given path is covered by the mask More...
 
virtual std::string dump (const std::string &prefix="") const =0
 dump in human readable form the nature of the mask More...
 
virtual maskclone () 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.

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::mask_list, libdar::exclude_dir_mask, libdar::same_path_mask, libdar::simple_path_mask, libdar::ou_mask, libdar::et_mask, libdar::not_mask, libdar::regular_mask, libdar::simple_mask, and libdar::bool_mask.

◆ 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]prefixused for indentation withing the output string

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

◆ is_covered() [1/2]

virtual bool libdar::mask::is_covered ( const path chemin) const
inlinevirtual

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 in libdar::exclude_dir_mask, libdar::simple_path_mask, libdar::ou_mask, libdar::et_mask, libdar::not_mask, and libdar::bool_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]expressionis 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::mask_list, libdar::exclude_dir_mask, libdar::simple_path_mask, libdar::ou_mask, libdar::et_mask, libdar::not_mask, libdar::regular_mask, libdar::simple_mask, libdar::bool_mask, and libdar::same_path_mask.

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


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