72    explicit CpeId( 
const std::string & cpe_r );
 
   77    explicit CpeId( 
const char * cpe_r )
 
   78      : 
CpeId( 
std::string( cpe_r ? cpe_r : 
"" ) )
 
 
   84    CpeId( 
const std::string & cpe_r, NoThrowType );
 
   91    explicit operator bool() 
const;
 
  102    std::string asFs() 
const;
 
  109    std::string asUri() 
const;
 
  116    std::string asWfn() 
const;
 
 
  138  { 
return str << CpeId::Attribute::asString( obj.asEnum() ); }
 
  187    explicit Value( 
const std::string & value_r );
 
  192    explicit Value( 
const char * value_r )
 
  193    : 
Value( 
std::string( value_r ? value_r : 
"*" ) )
 
 
  199     Value( 
const std::string & encoded_r, FsFormatType );
 
  204     Value( 
const std::string & encoded_r, UriFormatType );
 
  216    using Type = base::EnumClass<ETypeDef>; 
 
  221      if ( !
_value ) 
return Type::ANY;
 
  222      if ( 
_value->empty() ) 
return Type::NA;
 
  223      return( 
isWildcarded() ? Type::wildcarded : Type::wildcardfree );
 
 
  239    { 
return( type_r == Type::ANY || type_r == Type::NA ); }
 
 
  246    { 
return( type_r == Type::wildcardfree || type_r == Type::wildcarded ); }
 
 
  266    std::string 
asWfn() 
const;
 
  273    std::string 
asFs() 
const;
 
  280    std::string 
asUri() 
const;
 
 
#define SETRELATIONMIXIN_DEFINE_COMPARE_BETWEEN(DERIVED_TYPE, OTHER_TYPE)
Define compare between Derived and some other type (e.g.
bool isWildcardfree() const
An attribute value string without wildcards ([*?
static const Value ANY
Logical value matching ANY value.
bool isNA() const
Whether value is NA.
static const Value NA
Logical value indicating “not applicable/not used".
bool isWildcarded() const
An attribute value string with wildcards ([*?
RWCOW_pointer< std::string > _value
bool isLogical() const
Whether it's a logical value (ANY|NA).
bool isANY() const
Whether value is ANY.
Value(const char *value_r)
Ctor from char* (WFN format; nullptr or "*" represent ANY; "" represents NA)
static constexpr UriFormatType uriFormat
Indicator argument for ctor arg in URI format.
bool isLogical(Type type_r) const
static constexpr FsFormatType fsFormat
Indicator argument for ctor arg in FS format.
bool isString() const
Whether it's an attribute value string (not logical value).
std::string asString() const
Default string representation [asWfn].
base::EnumClass< ETypeDef > Type
'enum class Type'
Type type() const
Return the Type of this Value.
std::string asFs() const
String representation as in Formated-String (ANY:"*", NA:"-")
SetCompare setRelationMixinCompare(const Value &trg) const
CPE name matching hook for SetRelationMixin.
Value()
Default ctor: ANY.
bool containsWildcard() const
HAs unquoted [*?
bool isString(Type type_r) const
std::string asUri() const
String representation as in URI (ANY:"", NA:"-")
std::string asWfn() const
String representation as in Well-Formed-Name (ANY:"*", NA:"").
Common Platform Enumearation (2.3) See http://cpe.mitre.org/ for more information on the Common Platf...
std::ostream & operator<<(std::ostream &str, const CpeId &obj)
Stream output.
static constexpr NoThrowType noThrow
Indicator argument for non-trowing ctor.
base::EnumClass< EAttributeDef > Attribute
'enum class Attribute'
std::string asFs() const
String representation as Formated-String (in/out).
std::string asString() const
Default string representation [asFS].
CpeId(const char *cpe_r)
Ctor parsing from string representation (empty or URI or FS)
SetCompare setRelationMixinCompare(const CpeId &trg) const
CPE name matching hook for SetRelationMixin.
CpeId()
Default ctor: ANY-Cpeid, all attribute values are ANY.
RWCOW_pointer< Impl > _pimpl
Implementation class.
Provide set relation methods based on Derived::setRelationMixinCompare A class using this mixin must ...
SetCompare compare(const Derived &trg) const
Compare sets.
String related utilities and Regular expression matching.
Easy-to use interface to the ZYPP dependency resolver.
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
WFN attributes (use like 'enum class Attribute')
static const std::string & asString(Enum val_r)
string representantion
static constexpr unsigned numAttributes
number of attributes
Indicator type for non-trowing ctor.
static std::string lastMalformed
Classification of Value types mostly for match (use like 'enum class Type')
RW_pointer supporting 'copy on write' functionality.