libzypp  17.16.0
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 
21 namespace zypp
22 {
30  class LanguageCode : public IdStringType<LanguageCode>
31  {
32  public:
34  LanguageCode();
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 
46  ~LanguageCode();
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
static const LanguageCode noCode
Empty code.
Definition: LanguageCode.h:52
LanguageCode()
Default Ctor: noCode.
std::string name() const
Return the translated language name; if unknown the language code.
static const LanguageCode enCode
Last resort "en".
Definition: LanguageCode.h:54
std::string code() const
Return the language code asString.
Definition: LanguageCode.h:59
Access to the sat-pools string space.
Definition: IdString.h:41
Base class for creating IdString based types.
Definition: IdStringType.h:86
ZYPP_DEFINE_ID_HASHABLE(::zypp::LanguageCode)
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1
Language codes (iso639_2/iso639_1).
Definition: LanguageCode.h:30