libzypp 17.37.10

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
17#include <zypp/sat/detail/PoolMember.h>
18#include <zypp/sat/SolvIterMixin.h>
19#include <zypp/Locale.h>
20#include <zypp/Filter.h>
21
23 namespace 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:
64 LocaleSupport()
65 {}
66
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 using iterator = Solvable_iterator; // from SolvIterMixin
92
93 iterator begin() const
94 { return Pool(*this).filterBegin( filter::ByLocaleSupport( _locale ) ); }
95
96 iterator end() const
97 { return Pool(*this).filterEnd( filter::ByLocaleSupport( _locale ) ); }
98
99
100 private:
101 Locale _locale;
102 };
103
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
Filter.h
Locale.h
PoolMember.h
SolvIterMixin.h
zypp::Locale
'Language[_Country]' codes.
Definition Locale.h:51
zypp::filter::ByLocaleSupport
Filter solvables according to their locale support.
Definition Filter.h:64
zypp::sat::LocaleSupport
Convenience methods to manage support for a specific Locale.
Definition LocaleSupport.h:61
zypp::sat::LocaleSupport::isRequested
bool isRequested() const
Whether the solver will automatically select language specific packages for my Locale.
Definition LocaleSupport.h:81
zypp::sat::LocaleSupport::_locale
Locale _locale
Definition LocaleSupport.h:101
zypp::sat::LocaleSupport::operator!=
bool operator!=(const LocaleSupport &lhs, const LocaleSupport &rhs)
Definition LocaleSupport.h:116
zypp::sat::LocaleSupport::locale
const Locale & locale() const
My Locale.
Definition LocaleSupport.h:73
zypp::sat::LocaleSupport::operator==
bool operator==(const LocaleSupport &lhs, const LocaleSupport &rhs)
Definition LocaleSupport.h:112
zypp::sat::LocaleSupport::LocaleSupport
LocaleSupport()
Default ctor.
Definition LocaleSupport.h:64
zypp::sat::LocaleSupport::iterator
Solvable_iterator iterator
Definition LocaleSupport.h:91
zypp::sat::LocaleSupport::LocaleSupport
LocaleSupport(const Locale &locale_r)
Ctor taking a Locale.
Definition LocaleSupport.h:67
zypp::sat::LocaleSupport::isAvailable
bool isAvailable() const
Whether there are language specific packages supporting my Locale.
Definition LocaleSupport.h:77
zypp::sat::LocaleSupport::begin
iterator begin() const
Definition LocaleSupport.h:93
zypp::sat::LocaleSupport::end
iterator end() const
Definition LocaleSupport.h:96
zypp::sat::LocaleSupport::setRequested
void setRequested(bool yesno_r)
Turn on/off solver support for my Locale.
Definition LocaleSupport.h:85
zypp::sat::LocaleSupport::operator<
bool operator<(const LocaleSupport &lhs, const LocaleSupport &rhs)
Definition LocaleSupport.h:120
zypp::sat::Pool
Global sat-pool.
Definition Pool.h:47
zypp::sat::Pool::filterEnd
filter_iterator< TFilter, SolvableIterator > filterEnd(const TFilter &filter_r) const
Definition Pool.h:186
zypp::sat::Pool::addRequestedLocale
bool addRequestedLocale(const Locale &locale_r)
Add one Locale to the set of requested locales.
Definition Pool.cc:239
zypp::sat::Pool::isRequestedLocale
bool isRequestedLocale(const Locale &locale_r) const
Whether this Locale is in the set of requested locales.
Definition Pool.cc:248
zypp::sat::Pool::filterBegin
filter_iterator< TFilter, SolvableIterator > filterBegin(const TFilter &filter_r) const
Definition Pool.h:182
zypp::sat::Pool::eraseRequestedLocale
bool eraseRequestedLocale(const Locale &locale_r)
Erase one Locale from the set of requested locales.
Definition Pool.cc:242
zypp::sat::Pool::isAvailableLocale
bool isAvailableLocale(const Locale &locale_r) const
Whether this Locale is in the set of available locales.
Definition Pool.cc:258
zypp::sat::SolvIterMixin< LocaleSupport, filter_iterator< filter::ByLocaleSupport, Pool::SolvableIterator > >::Solvable_iterator
filter_iterator< filter::ByLocaleSupport, Pool::SolvableIterator > Solvable_iterator
Definition SolvIterMixin.h:150
zypp::sat::SolvIterMixin< LocaleSupport, filter_iterator< filter::ByLocaleSupport, Pool::SolvableIterator > >::SolvIterMixin
SolvIterMixin()
Definition SolvIterMixin.h:198
str
String related utilities and Regular expression matching.
zypp::sat
Definition Resolver.h:28
zypp::sat::operator<<
std::ostream & operator<<(std::ostream &str, const FileConflicts &obj)
Definition FileConflicts.cc:109
zypp::sat::dumpOn
std::ostream & dumpOn(std::ostream &str, const LocaleSupport &obj)
Definition LocaleSupport.cc:41
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition Application.cc:20
zypp::sat::detail::PoolMember
Backlink to the associated PoolImpl.
Definition PoolMember.h:89