Loading...
Searching...
No Matches
libdar::mask_list Class Reference
API

the mask_list class, matches string that are present in a given file More...

`#include <mask_list.hpp>`

Inherits libdar::mask.

## Public Member Functions

| mask_list (const std::string &filename_list_st, bool case_sensit, const path &prefix, bool include, const std::deque< std::string > &eol_list=std::deque< std::string >())
| the constructor
| mask_list (const mask_list &ref)=default
| mask_list (mask_list &&ref)=default
mask_list & | operator= (const mask_list &ref)=default
mask_list & | operator= (mask_list &&ref) noexcept=default
virtual bool | is_covered (const std::string &expression) const override
| inherited from the mask class
virtual mask * | clone () const override
| inherited from the mask class
U_I | size () const
| routing only necessary for doing some testing
virtual std::string | dump (const std::string &prefix) const override
| output the listing content
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
virtual bool | is_covered (const path &chemin) const
| check whether the given path is covered by the mask

## Private Attributes

std::deque< std::string > | contenu
U_I | taille
bool | case_s
bool | including
eols | cutter

## Detailed Description

the mask_list class, matches string that are present in a given file

the given file must contain one entry per line (thus no carriage return is allowed in a given entry). Note that the file listed in the file may have a relative path or an absolute path.

Definition at line 52 of file mask_list.hpp.

## Constructor & Destructor Documentation

## mask_list()

libdar::mask_list::mask_list | ( | const std::string & | filename_list_st,
|  | bool | case_sensit,
|  | const path & | prefix,
|  | bool | include,
|  | const std::deque< std::string > & | eol_list = std::deque< std::string >() )

the constructor

Parameters

  [in] | filename_list_st | is the path to the file listing the filename to select for the operation
  [in] | case_sensit | whether comparison is case sensitive or not
  [in] | prefix | add this prefix to relative paths of the list. The prefix should be either absolute, or path::FAKE_ROOT (if the operation does not involve an fs_root - testing, listing, merging operations for example)
  [in] | include | whether the mask_list is used for file inclusion or file exclusion
  [in] | eol_list | list of string that mean the end of a line providing an empty list as is the default value, means the list { "\n" , "\n\r" } for backward compatibility

Note
  : WARNING: if "include is set to false, the mask must be negated by a not_mask(), this is not performed here. Here the include/exclude only parameter changes the filter internal "formula", but for historical reasons and by homogeneity with path base filtering the mask negation is done outside the mask construction. In other words, the caller should create the mask with the following statement either:
  - not_mask(mask_list(<filename>, <case sensit>, <prefix>, false)) or
  - mask_list(<filename>, <case sensit>, <prefix>, true)) and pass the resulting (eventually logically anded or ored with other masks to libdar set_subtree() method of an archive_option_* class.

References mask_list().

Referenced by clone(), and mask_list().

## Member Function Documentation

## clone()

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

inline override virtual

inherited from the mask class

Implements libdar::mask.

Definition at line 92 of file mask_list.hpp.

References mask_list().

## dump()

virtual std::string libdar::mask_list::dump | ( | const std::string & | prefix | ) | const

override virtual

output the listing content

Implements libdar::mask.

## is_covered()

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

override virtual

inherited from the mask class

Implements libdar::mask.

## size()

U_I libdar::mask_list::size | ( |  | ) | const

inline

routing only necessary for doing some testing

Definition at line 95 of file mask_list.hpp.

## Member Data Documentation

## case_s

bool libdar::mask_list::case_s

private

Definition at line 104 of file mask_list.hpp.

## contenu

std::deque<std::string> libdar::mask_list::contenu

private

Definition at line 102 of file mask_list.hpp.

## cutter

eols libdar::mask_list::cutter

private

Definition at line 106 of file mask_list.hpp.

## including

bool libdar::mask_list::including

private

Definition at line 105 of file mask_list.hpp.

## taille

U_I libdar::mask_list::taille

private

Definition at line 103 of file mask_list.hpp.

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

- mask_list.hpp