libdnf5::sack

enum class libdnf5::sack::ExcludeFlags : unsigned

Values:

enumerator APPLY_EXCLUDES
enumerator IGNORE_MODULAR_EXCLUDES
enumerator IGNORE_REGULAR_CONFIG_EXCLUDES
enumerator IGNORE_REGULAR_USER_EXCLUDES
enumerator USE_DISABLED_REPOSITORIES
enumerator IGNORE_VERSIONLOCK
enumerator IGNORE_REGULAR_EXCLUDES
enumerator IGNORE_EXCLUDES
enum class libdnf5::sack::QueryCmp : uint32_t

Match operators used in filter methods of the Query objects.

Values:

enumerator NOT

Negation modifier. Must be used with a match.

enumerator ICASE

Case-insensitive modifier. Must be used with a match.

enumerator ISNULL

Value is NULL/None.

enumerator EQ

Equal. The same as EXACT. Applicable to numbers.

enumerator NEQ

Not equal. The same as NOT_EXACT. Applicable to numbers.

enumerator GT

Greater than. Applicable to numbers.

enumerator GTE

Greater than or equal to. Applicable to numbers.

enumerator LT

Less than. Applicable to numbers.

enumerator LTE

Less than or equal to. Applicable to numbers.

enumerator EXACT

Case-sensitive exact match. The same as EQ. Applicable to strings.

enumerator NOT_EXACT

Negative case-sensitive exact match. The same as NEQ. Applicable to strings.

enumerator IEXACT

Case-insensitive exact match. Applicable to strings.

enumerator NOT_IEXACT

Negative case-insensitive exact match. Applicable to strings.

enumerator CONTAINS

Case-sensitive containment match. Applicable to strings.

enumerator NOT_CONTAINS

Negative case-sensitive containment match. Applicable to strings.

enumerator ICONTAINS

Case-insensitive containment match. Applicable to strings.

enumerator NOT_ICONTAINS

Negative case-insensitive containment match. Applicable to strings.

enumerator STARTSWITH

Case-sensitive starts-with match. Applicable to strings.

enumerator ISTARTSWITH

Case-insensitive starts-with match. Applicable to strings.

enumerator ENDSWITH

Case-sensitive ends-with match. Applicable to strings.

enumerator IENDSWITH

Case-insensitive ends-with match. Applicable to strings.

enumerator REGEX

Case-sensitive regular expression match. Applicable to strings.

enumerator IREGEX

Case-insensitive regular expression match. Applicable to strings.

enumerator GLOB

Case-sensitive glob match. Applicable to strings.

enumerator NOT_GLOB

Negative case-sensitive glob match. Applicable to strings.

enumerator IGLOB

Case-insensitive glob match. Applicable to strings.

enumerator NOT_IGLOB

Negative case-insensitive glob match. Applicable to strings.

LIBDNF_API const BgettextMessage libdnf5::sack::msg_err_exact_one_object
inline ExcludeFlags libdnf5::sack::operator&(ExcludeFlags lhs, ExcludeFlags rhs)
inline ExcludeFlags libdnf5::sack::operator|(ExcludeFlags lhs, ExcludeFlags rhs)
LIBDNF_API bool libdnf5::sack::match_int64 (int64_t value, QueryCmp cmp, int64_t pattern)
LIBDNF_API bool libdnf5::sack::match_int64 (int64_t value, QueryCmp cmp, const std::vector< int64_t > &patterns)
LIBDNF_API bool libdnf5::sack::match_int64 (const std::vector< int64_t > &values, QueryCmp cmp, int64_t pattern)
LIBDNF_API bool libdnf5::sack::match_int64 (const std::vector< int64_t > &values, QueryCmp cmp, const std::vector< int64_t > &patterns)
LIBDNF_API bool libdnf5::sack::match_string (const std::string &value, QueryCmp cmp, const std::string &pattern)
LIBDNF_API bool libdnf5::sack::match_string (const std::string &value, QueryCmp cmp, const std::vector< std::string > &patterns)
LIBDNF_API bool libdnf5::sack::match_string (const std::vector< std::string > &values, QueryCmp cmp, const std::string &pattern)
LIBDNF_API bool libdnf5::sack::match_string (const std::vector< std::string > &values, QueryCmp cmp, const std::vector< std::string > &patterns)
inline constexpr QueryCmp libdnf5::sack::operator|(QueryCmp lhs, QueryCmp rhs) noexcept
inline constexpr QueryCmp libdnf5::sack::operator&(QueryCmp lhs, QueryCmp rhs) noexcept
inline constexpr QueryCmp libdnf5::sack::operator-(QueryCmp lhs, QueryCmp rhs) noexcept

Returns the value of the left operand with the bits zeroed that are set in the right operand. Can be used eg for removing NOT or ICASE flags.

template<typename T>
class Query : public libdnf5::Set<T>
#include <query.hpp>

Query is a Set with filtering capabilities.

Public Types

using FilterFunctionBool = bool(const T &obj)
using FilterFunctionCString = char*(const T &obj)
using FilterFunctionInt64 = int64_t(const T &obj)
using FilterFunctionString = std::string(const T &obj)
using FilterFunctionVectorInt64 = std::vector<int64_t>(const T &obj)
using FilterFunctionVectorString = std::vector<std::string>(const T &obj)

Public Functions

Query() = default
inline explicit Query(const Set<T> &src_set)
inline explicit Query(Set<T> &&src_set)
void filter(std::string (*getter)(const T&), const std::string &pattern, QueryCmp cmp)
void filter(std::vector<std::string> (*getter)(const T&), const std::string &pattern, QueryCmp cmp)
void filter(std::string (*getter)(const T&), const std::vector<std::string> &patterns, QueryCmp cmp)
void filter(std::vector<std::string> (*getter)(const T&), const std::vector<std::string> &patterns, QueryCmp cmp)
void filter(int64_t (*getter)(const T&), int64_t pattern, QueryCmp cmp)
void filter(std::vector<int64_t> (*getter)(const T&), int64_t pattern, QueryCmp cmp)
void filter(int64_t (*getter)(const T&), const std::vector<int64_t> &patterns, QueryCmp cmp)
void filter(std::vector<int64_t> (*getter)(const T&), const std::vector<int64_t> &patterns, QueryCmp cmp)
void filter(bool (*getter)(const T&), bool pattern, QueryCmp cmp)
void filter(char *(*getter)(const T&), const std::string &pattern, QueryCmp cmp)
inline const T &get() const

Get a single object. Raise an exception if none or multiple objects match the query.

inline const std::set<T> &list() const noexcept

List all objects matching the query.

template<typename T>
class Sack

Public Types

using DataItemWeakPtr = WeakPtr<T, false>

Public Functions

inline std::size_t size() const noexcept
inline const Set<DataItemWeakPtr> &get_excludes() const noexcept
inline void add_excludes(const Set<DataItemWeakPtr> &value)
inline void remove_excludes(const Set<DataItemWeakPtr> &value)
inline void set_excludes(const Set<DataItemWeakPtr> &value)
inline const Set<DataItemWeakPtr> &get_includes() const noexcept
inline void add_includes(const Set<DataItemWeakPtr> &value)
inline void remove_includes(const Set<DataItemWeakPtr> &value)
inline void set_includes(const Set<DataItemWeakPtr> &value)
inline bool get_use_includes() const noexcept
inline void set_use_includes(bool value)