A validator that checks if a given path is a valid output directory.
More...
#include <seqan3/argument_parser/validators.hpp>
A validator that checks if a given path is a valid output directory.
The class acts as a functor that throws a seqan3::validation_error exception whenever a given path (std::filesystem::path) is not writable. This can happen if either the parent path does not exists, or the path doesn't have the proper write permissions.
int main(int argc, const char ** argv)
{
myparser.add_option(mydir, 'd', "dir", "The output directory for storing the files.",
try
{
myparser.parse();
}
{
return -1;
}
return 0;
}
Meta-Header for the argument parser module.
Argument parser exception that is thrown whenever there is an error while parsing the command line ar...
Definition: exceptions.hpp:49
The SeqAn command line parser.
Definition: argument_parser.hpp:154
A validator that checks if a given path is a valid output file.
Definition: validators.hpp:632
Provides seqan3::debug_stream and related types.
This header includes C++17 filesystem support and imports it into namespace std::filesystem (independ...
@ standard
The default were no checking or special displaying is happening.
Definition: auxiliary.hpp:234
debug_stream_type debug_stream
A global instance of seqan3::debug_stream_type.
Definition: debug_stream.hpp:42
@ create_new
Forbid overwriting the output file.
- Note
- The validator works on every type that can be implicitly converted to std::filesystem::path.
◆ case_insensitive_string_ends_with()
Helper function that checks if a string is a suffix of another string. Case insensitive.
- Parameters
-
str | The string to be searched. |
suffix | The suffix to be searched for. |
- Returns
true
if suffix
is a suffix of str
, otherwise false
.
◆ operator()() [1/2]
template<std::ranges::forward_range range_type>
void seqan3::file_validator_base::operator() |
( |
range_type const & |
v | ) |
const |
|
inlineinherited |
Tests whether every path in list v
passes validation. See operator()(option_value_type const & value) for further information.
- Template Parameters
-
range_type | The type of range to check; must model std::ranges::forward_range and the value type must be convertible to std::filesystem::path. |
- Parameters
-
v | The input range to iterate over and check every element. |
- Exceptions
-
◆ operator()() [2/2]
◆ validate_filename()
Validates the given filename path based on the specified extensions.
- Parameters
-
- Exceptions
-
◆ validate_readability()
Checks if the given path is readable.
- Parameters
-
- Returns
true
if readable, otherwise false
.
- Exceptions
-
◆ validate_writeability()
Checks if the given path is writable.
- Parameters
-
- Returns
true
if writable, otherwise false
.
- Exceptions
-
◆ operator()()
Validates the value 'cmp' and throws a seqan3::validation_error on failure.
- Template Parameters
-
option_value_type | The type of the value to be validated. |
- Parameters
-
[in,out] | cmp | The value to be validated. |
- Exceptions
-
- Attention
- This is a concept requirement, not an actual function (however types satisfying this concept will provide an implementation).
The documentation for this class was generated from the following file: