libzypp 17.31.23
LanguageCode.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
12#ifndef ZYPP_LANGUAGECODE_H
13#define ZYPP_LANGUAGECODE_H
14
15#include <iosfwd>
16#include <string>
17
18#include <zypp/IdStringType.h>
19
21namespace zypp
22{
30 class LanguageCode : public IdStringType<LanguageCode>
31 {
32 public:
35
37 explicit LanguageCode( IdString str_r );
38
40 explicit LanguageCode( const std::string & str_r );
41
43 explicit LanguageCode( const char * str_r );
44
47
48 public:
52 static const LanguageCode noCode;
54 static const LanguageCode enCode;
56
57 public:
59 std::string code() const
60 { return std::string(_str); }
61
63 std::string name() const;
64
65 private:
66 friend class IdStringType<LanguageCode>;
68 };
69} // namespace zypp
71
73
74#endif // ZYPP_LANGUAGECODE_H
Base class for creating IdString based types.
Definition: IdStringType.h:87
Access to the sat-pools string space.
Definition: IdString.h:43
Language codes (iso639_2/iso639_1).
Definition: LanguageCode.h:31
std::string code() const
Return the language code asString.
Definition: LanguageCode.h:59
std::string name() const
Return the translated language name; if unknown the language code.
static const LanguageCode noCode
Empty code.
Definition: LanguageCode.h:52
static const LanguageCode enCode
Last resort "en".
Definition: LanguageCode.h:54
LanguageCode()
Default Ctor: noCode.
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
#define ZYPP_DEFINE_ID_HASHABLE(C)
Define hash function for id based classes.
Definition: Hash.h:26