paludis Version 3.0.2
The one true package mangler
paludis::RepositoryNameCache Class Reference

#include <repository_name_cache.hh>

Basic operations

 RepositoryNameCache (const FSPath &location, const Repository *const repo)

Cache helper functions

std::shared_ptr< const CategoryNamePartSet > category_names_containing_package (const PackageNamePart &p) const
bool usable () const noexcept
void regenerate_cache () const
void add (const QualifiedPackageName &)
void remove (const QualifiedPackageName &)

Detailed Description

Used by various Repository subclasses to implement a names cache.

See also
Repository

Member Function Documentation

◆ add()

void paludis::RepositoryNameCache::add ( const QualifiedPackageName & )

Add a new package to the cache.

References add().

Referenced by add().

◆ category_names_containing_package()

std::shared_ptr< const CategoryNamePartSet > paludis::RepositoryNameCache::category_names_containing_package ( const PackageNamePart & p) const

Implement category_names_containing_package.

May return a zero pointer, in which case the repository should fall back to Repository::do_category_names_containing_package or its own implementation.

◆ regenerate_cache()

void paludis::RepositoryNameCache::regenerate_cache ( ) const

Implement cache regeneration.

References regenerate_cache().

Referenced by regenerate_cache().

◆ remove()

void paludis::RepositoryNameCache::remove ( const QualifiedPackageName & )

Remove a package from the cache.

References remove().

Referenced by remove().

◆ usable()

bool paludis::RepositoryNameCache::usable ( ) const
noexcept

Whether or not our cache is usable.

Initially this will be true. After the first query the value may change to false (the query will return a zero pointer too).


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