libzypp 17.31.23
LocaleSupport.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
12#ifndef ZYPP_SAT_LOCALESUPPORT_H
13#define ZYPP_SAT_LOCALESUPPORT_H
14
15#include <iosfwd>
16
19#include <zypp/Locale.h>
20#include <zypp/Filter.h>
21
23namespace zypp
24{
26 namespace sat
27 {
28
30 //
31 // CLASS NAME : LocaleSupport
32 //
59 class LocaleSupport : public SolvIterMixin<LocaleSupport,filter_iterator<filter::ByLocaleSupport,Pool::SolvableIterator> >
60 , protected detail::PoolMember
61 {
62 public:
65 {}
67 LocaleSupport( const Locale & locale_r )
68 : _locale( locale_r )
69 {}
70
71 public:
73 const Locale & locale() const
74 { return _locale; }
75
77 bool isAvailable() const
78 { return Pool(*this).isAvailableLocale( _locale ); }
79
81 bool isRequested() const
82 { return Pool(*this).isRequestedLocale( _locale ); }
83
85 void setRequested( bool yesno_r )
86 { yesno_r ? Pool(*this).addRequestedLocale( _locale ) : Pool(*this).eraseRequestedLocale( _locale ); }
87
88 public:
91 typedef Solvable_iterator iterator; // from SolvIterMixin
92
94 { return Pool(*this).filterBegin( filter::ByLocaleSupport( _locale ) ); }
95
96 iterator end() const
97 { return Pool(*this).filterEnd( filter::ByLocaleSupport( _locale ) ); }
99
100 private:
102 };
104
106 std::ostream & operator<<( std::ostream & str, const LocaleSupport & obj );
107
109 std::ostream & dumpOn( std::ostream & str, const LocaleSupport & obj );
110
112 inline bool operator==( const LocaleSupport & lhs, const LocaleSupport & rhs )
113 { return lhs.locale() == rhs.locale(); }
114
116 inline bool operator!=( const LocaleSupport & lhs, const LocaleSupport & rhs )
117 { return lhs.locale() != rhs.locale(); }
118
120 inline bool operator<( const LocaleSupport & lhs, const LocaleSupport & rhs )
121 { return lhs.locale() < rhs.locale(); }
122
124 } // namespace sat
127} // namespace zypp
129#endif // ZYPP_SAT_LOCALESUPPORT_H
'Language[_Country]' codes.
Definition: Locale.h:50
Filter solvables according to their locale support.
Definition: Filter.h:63
Convenience methods to manage support for a specific Locale.
Definition: LocaleSupport.h:61
bool isRequested() const
Whether the solver will automatically select language specific packages for my Locale.
Definition: LocaleSupport.h:81
bool operator!=(const LocaleSupport &lhs, const LocaleSupport &rhs)
const Locale & locale() const
My Locale.
Definition: LocaleSupport.h:73
bool operator==(const LocaleSupport &lhs, const LocaleSupport &rhs)
Solvable_iterator iterator
Definition: LocaleSupport.h:91
LocaleSupport()
Default ctor.
Definition: LocaleSupport.h:64
LocaleSupport(const Locale &locale_r)
Ctor taking a Locale.
Definition: LocaleSupport.h:67
bool isAvailable() const
Whether there are language specific packages supporting my Locale.
Definition: LocaleSupport.h:77
iterator begin() const
Definition: LocaleSupport.h:93
iterator end() const
Definition: LocaleSupport.h:96
void setRequested(bool yesno_r)
Turn on/off solver support for my Locale.
Definition: LocaleSupport.h:85
bool operator<(const LocaleSupport &lhs, const LocaleSupport &rhs)
Global sat-pool.
Definition: Pool.h:47
filter_iterator< TFilter, SolvableIterator > filterEnd(const TFilter &filter_r) const
Definition: Pool.h:186
bool addRequestedLocale(const Locale &locale_r)
Add one Locale to the set of requested locales.
Definition: Pool.cc:239
bool isRequestedLocale(const Locale &locale_r) const
Whether this Locale is in the set of requested locales.
Definition: Pool.cc:248
filter_iterator< TFilter, SolvableIterator > filterBegin(const TFilter &filter_r) const
Definition: Pool.h:182
bool eraseRequestedLocale(const Locale &locale_r)
Erase one Locale from the set of requested locales.
Definition: Pool.cc:242
bool isAvailableLocale(const Locale &locale_r) const
Whether this Locale is in the set of available locales.
Definition: Pool.cc:258
Base class providing common iterator types based on a Solvable iterator.
String related utilities and Regular expression matching.
std::ostream & operator<<(std::ostream &str, const FileConflicts &obj)
std::ostream & dumpOn(std::ostream &str, const LocaleSupport &obj)
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
Backlink to the associated PoolImpl.
Definition: PoolMember.h:89