paludis Version 3.0.2
The one true package mangler
paludis::MetadataKey Class Referenceabstract

#include <metadata_key.hh>

Inheritance diagram for paludis::MetadataKey:

Public Member Functions

virtual const std::string raw_name () const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual const std::string human_name () const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual MetadataKeyType type () const PALUDIS_ATTRIBUTE((warn_unused_result))=0
Public Member Functions inherited from paludis::DeclareAbstractAcceptMethods< MetadataKey, MakeTypeList< MetadataCollectionKey< KeywordNameSet >, MetadataCollectionKey< Set< std::string > >, MetadataCollectionKey< Sequence< std::string > >, MetadataCollectionKey< PackageIDSequence >, MetadataCollectionKey< FSPathSequence >, MetadataCollectionKey< Map< std::string, std::string > >, MetadataCollectionKey< Maintainers >, MetadataSpecTreeKey< DependencySpecTree >, MetadataSpecTreeKey< LicenseSpecTree >, MetadataSpecTreeKey< FetchableURISpecTree >, MetadataSpecTreeKey< SimpleURISpecTree >, MetadataSpecTreeKey< PlainTextSpecTree >, MetadataSpecTreeKey< RequiredUseSpecTree >, MetadataValueKey< std::string >, MetadataValueKey< long >, MetadataValueKey< bool >, MetadataValueKey< FSPath >, MetadataValueKey< Slot >, MetadataValueKey< std::shared_ptr< const PackageID > >, MetadataValueKey< std::shared_ptr< const Choices > >, MetadataTimeKey, MetadataSectionKey >::Type >
void accept (UnwrappedVisitor_ &v)
Result_ accept_returning (UnwrappedVisitor_ &v, const Result_ &r=Result_())
auto make_accept_returning (const Case_ &firstcase, const Cases_ &... cases) const -> CallResultType< Case_ >
void make_accept (const Cases_ &... cases) const

Basic operations

 MetadataKey (const MetadataKey &)=delete
MetadataKey & operator= (const MetadataKey &)=delete

Additional Inherited Members

Public Types inherited from paludis::DeclareAbstractAcceptMethods< MetadataKey, MakeTypeList< MetadataCollectionKey< KeywordNameSet >, MetadataCollectionKey< Set< std::string > >, MetadataCollectionKey< Sequence< std::string > >, MetadataCollectionKey< PackageIDSequence >, MetadataCollectionKey< FSPathSequence >, MetadataCollectionKey< Map< std::string, std::string > >, MetadataCollectionKey< Maintainers >, MetadataSpecTreeKey< DependencySpecTree >, MetadataSpecTreeKey< LicenseSpecTree >, MetadataSpecTreeKey< FetchableURISpecTree >, MetadataSpecTreeKey< SimpleURISpecTree >, MetadataSpecTreeKey< PlainTextSpecTree >, MetadataSpecTreeKey< RequiredUseSpecTree >, MetadataValueKey< std::string >, MetadataValueKey< long >, MetadataValueKey< bool >, MetadataValueKey< FSPath >, MetadataValueKey< Slot >, MetadataValueKey< std::shared_ptr< const PackageID > >, MetadataValueKey< std::shared_ptr< const Choices > >, MetadataTimeKey, MetadataSectionKey >::Type >
typedef MakeTypeList< MetadataCollectionKey< KeywordNameSet >, MetadataCollectionKey< Set< std::string > >, MetadataCollectionKey< Sequence< std::string > >, MetadataCollectionKey< PackageIDSequence >, MetadataCollectionKey< FSPathSequence >, MetadataCollectionKey< Map< std::string, std::string > >, MetadataCollectionKey< Maintainers >, MetadataSpecTreeKey< DependencySpecTree >, MetadataSpecTreeKey< LicenseSpecTree >, MetadataSpecTreeKey< FetchableURISpecTree >, MetadataSpecTreeKey< SimpleURISpecTree >, MetadataSpecTreeKey< PlainTextSpecTree >, MetadataSpecTreeKey< RequiredUseSpecTree >, MetadataValueKey< std::string >, MetadataValueKey< long >, MetadataValueKey< bool >, MetadataValueKey< FSPath >, MetadataValueKey< Slot >, MetadataValueKey< std::shared_ptr< const PackageID > >, MetadataValueKey< std::shared_ptr< const Choices > >, MetadataTimeKey, MetadataSectionKey >::Type VisitableTypeList
typedef MetadataKey VisitableBaseClass

Detailed Description

A MetadataKey is a generic key that contains a particular piece of information about a PackageID or Repository instance.

A basic MetadataKey has:

  • A raw name. This is in a repository-defined format designed to closely represent the internal name. For example, ebuilds and VDB IDs use raw names like 'DESCRIPTION' and 'KEYWORDS', whereas CRAN uses names like 'Title' and 'BundleDescription'. The raw name is unique in a PackageID or Repository.
  • A human name. This is the name that should be used when outputting normally for a human to read.
  • A MetadataKeyType. This is a hint to clients as to whether the key should be displayed when outputting information about a package ID or Repository.

Subclasses provide additional information, including the value of the key via a 'parse_value' method. A visitor can be used to get more detail.

The header literal_metadata_key.hh contains various concrete implementations of MetadataKey subclasses.

Since
0.26
Examples
example_metadata_key.cc.

Member Function Documentation

◆ human_name()

◆ raw_name()

◆ type()


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