/usr/include/x86_64-linux-gnu/zypp/CountryCode.h is in libzypp-dev 15.3.0-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | /*---------------------------------------------------------------------\
| ____ _ __ __ ___ |
| |__ / \ / / . \ . \ |
| / / \ V /| _/ _/ |
| / /__ | | | | | | |
| /_____||_| |_| |_| |
| |
\---------------------------------------------------------------------*/
/** \file zypp/CountryCode.h
*
*/
#ifndef ZYPP_COUNTRYCODE_H
#define ZYPP_COUNTRYCODE_H
#include <iosfwd>
#include <string>
#include "zypp/base/PtrTypes.h"
///////////////////////////////////////////////////////////////////
namespace zypp
{ /////////////////////////////////////////////////////////////////
class CountryCode;
inline bool operator==( const CountryCode & lhs, const CountryCode & rhs );
inline bool operator!=( const CountryCode & lhs, const CountryCode & rhs );
///////////////////////////////////////////////////////////////////
//
// CLASS NAME : CountryCode
//
/** Country codes (iso3166-1-alpha-2).
*
* In fact the class will not prevent to use a non iso country code.
* Just a warning will appear in the log.
*/
class CountryCode
{
friend std::ostream & operator<<( std::ostream & str, const CountryCode & obj );
public:
/** Implementation */
class Impl;
public:
/** Default ctor */
CountryCode();
/** Ctor taking a string. */
explicit
CountryCode( const std::string & code_r );
/** Dtor */
~CountryCode();
public:
/** \name CountryCode constants. */
//@{
/** No or empty code. */
static const CountryCode noCode;
//@}
public:
/** Return the country code. */
std::string code() const;
/** Return the country name; if not available the country code. */
std::string name() const;
/** <tt>*this != noCode</tt>. */
bool hasCode() const
{ return *this != noCode; }
private:
/** Pointer to implementation */
RW_pointer<Impl> _pimpl;
};
///////////////////////////////////////////////////////////////////
/** \relates CountryCode Stream output */
inline std::ostream & operator<<( std::ostream & str, const CountryCode & obj )
{ return str << obj.code(); }
/** Comparison based on string value. */
//@{
/** \relates CountryCode */
inline bool operator==( const CountryCode & lhs, const CountryCode & rhs ) {
return( lhs.code() == rhs.code() );
}
/** \relates CountryCode */
inline bool operator==( const std::string & lhs, const CountryCode & rhs ) {
return( lhs == rhs.code() );
}
/** \relates CountryCode */
inline bool operator==( const CountryCode & lhs, const std::string & rhs ) {
return( lhs.code() == rhs );
}
/** \relates CountryCode */
inline bool operator!=( const CountryCode & lhs, const CountryCode & rhs ) {
return( ! operator==( lhs, rhs ) );
}
/** \relates CountryCode */
inline bool operator!=( const std::string & lhs, const CountryCode & rhs ) {
return( ! operator==( lhs, rhs ) );
}
/** \relates CountryCode */
inline bool operator!=( const CountryCode & lhs, const std::string & rhs ) {
return( ! operator==( lhs, rhs ) );
}
//@}
/////////////////////////////////////////////////////////////////
} // namespace zypp
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
namespace std
{ /////////////////////////////////////////////////////////////////
/** \relates zypp::CountryCode Default order for std::container based on code string value.*/
template<>
inline bool less<zypp::CountryCode>::operator()( const zypp::CountryCode & lhs, const zypp::CountryCode & rhs ) const
{ return lhs.code() < rhs.code(); }
/////////////////////////////////////////////////////////////////
} // namespace std
///////////////////////////////////////////////////////////////////
#endif // ZYPP_COUNTRYCODE_H
|