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

negation of another mask More...

#include <mask.hpp>

+ Inheritance diagram for libdar::not_mask:
+ Collaboration diagram for libdar::not_mask:

Public Member Functions

 not_mask (const mask &m)
 the constructor to be used by libdar external programs More...
 
 not_mask (const not_mask &m)
 copy constructor More...
 
 not_mask (not_mask &&m) noexcept
 move constructor More...
 
not_maskoperator= (const not_mask &m)
 assignment operator
 
not_maskoperator= (not_mask &&m) noexcept
 move operator More...
 
 ~not_mask ()
 destructor More...
 
bool is_covered (const std::string &expression) const override
 inherited from the mask class More...
 
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...
 
maskclone () const override
 inherited from the mask class More...
 
- Public Member Functions inherited from libdar::mask
 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
 

Private Member Functions

void nullifyptr () noexcept
 
void copy_from (const not_mask &m)
 
void copy_from (const mask &m)
 
void move_from (not_mask &&ref) noexcept
 
void detruit ()
 

Private Attributes

maskref
 

Detailed Description

negation of another mask

this is the first mask built over masks it realizes the negation of the given mask

Definition at line 226 of file mask.hpp.

Constructor & Destructor Documentation

◆ not_mask() [1/3]

libdar::not_mask::not_mask ( const mask m)
inline

the constructor to be used by libdar external programs

Parameters
[in]mis the mask to negate
Note
the mask used as argument need not to survive the just created not_mask object as an internal copy of the mask given in argument has been done.

Definition at line 234 of file mask.hpp.

Referenced by clone().

◆ not_mask() [2/3]

libdar::not_mask::not_mask ( const not_mask m)
inline

copy constructor

Definition at line 237 of file mask.hpp.

◆ not_mask() [3/3]

libdar::not_mask::not_mask ( not_mask &&  m)
inlinenoexcept

move constructor

Definition at line 240 of file mask.hpp.

◆ ~not_mask()

libdar::not_mask::~not_mask ( )
inline

destructor

Definition at line 249 of file mask.hpp.

Member Function Documentation

◆ clone()

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

inherited from the mask class

Implements libdar::mask.

Definition at line 257 of file mask.hpp.

References not_mask().

◆ dump()

std::string libdar::not_mask::dump ( const std::string &  prefix) const
overridevirtual

dump in human readable form the nature of the mask

Parameters
[in]prefixused for indentation withing the output string

Implements libdar::mask.

◆ is_covered() [1/2]

bool libdar::not_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.

Definition at line 253 of file mask.hpp.

References libdar::mask::is_covered().

◆ is_covered() [2/2]

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

inherited from the mask class

Implements libdar::mask.

Definition at line 252 of file mask.hpp.

References libdar::mask::is_covered().

◆ nullifyptr()

void libdar::not_mask::nullifyptr ( )
inlineprivatenoexcept

Definition at line 262 of file mask.hpp.

◆ operator=()

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

move operator

Definition at line 246 of file mask.hpp.

Member Data Documentation

◆ ref

mask* libdar::not_mask::ref
private

Definition at line 260 of file mask.hpp.


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