22 #ifndef SOPRANO_LANGUAGETAG_H
23 #define SOPRANO_LANGUAGETAG_H
25 #include <QtCore/QSharedDataPointer>
26 #include <QtCore/QTextStream>
27 #include <QtCore/QLocale>
28 #include <QtCore/QFlags>
29 #include <QtCore/QMetaType>
62 MatchFilterExtended = 1
73 LookupFlagNoFallback = 1
75 Q_DECLARE_FLAGS(LookupFlags, LookupFlag)
93 LanguageTag( const LanguageTag &other );
100 LanguageTag( const
char * tag );
114 LanguageTag( const
QString &tag );
122 explicit LanguageTag( const
QLocale &locale );
146 LanguageTag& operator=( const LanguageTag& other );
154 bool operator==( const LanguageTag& other ) const;
161 bool operator!=( const LanguageTag& other ) const;
167 bool operator<( const LanguageTag& other ) const;
173 bool operator<=( const LanguageTag& other ) const;
179 bool operator>( const LanguageTag& other ) const;
185 bool operator>=( const LanguageTag& other ) const;
196 bool matches( const LanguageTag&
range, MatchFilter scheme = MatchFilterBasic ) const;
207 bool isEmpty() const;
224 bool isValid() const;
250 QString toPrettyString() const;
277 inline operator
QString()
const {
return toString(); }
324 LookupFlags flags = LookupFlagNone,
325 MatchFilter scheme = MatchFilterBasic
347 LookupFlags flags = LookupFlagNone,
348 MatchFilter scheme = MatchFilterBasic
362 Q_DECLARE_OPERATORS_FOR_FLAGS(Soprano::LanguageTag::LookupFlags)
364 SOPRANO_EXPORT QDebug operator<<( QDebug s, const Soprano::LanguageTag& );
367 #endif // SOPRANO_LANGUAGETAG_H