/usr/include/x86_64-linux-gnu/zypp/Range.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 | /*---------------------------------------------------------------------\
| ____ _ __ __ ___ |
| |__ / \ / / . \ . \ |
| / / \ V /| _/ _/ |
| / /__ | | | | | | |
| /_____||_| |_| |_| |
| |
\---------------------------------------------------------------------*/
/** \file zypp/Range.h
*
*/
#ifndef ZYPP_RANGE_H
#define ZYPP_RANGE_H
#include "zypp/RelCompare.h"
///////////////////////////////////////////////////////////////////
namespace zypp
{ /////////////////////////////////////////////////////////////////
namespace range_detail
{
bool overlaps( Rel lhs, Rel rhs, int cmp );
}
///////////////////////////////////////////////////////////////////
//
// CLASS NAME : Range
//
/**
*
*/
template<class _Tp, class _Compare = Compare<_Tp> >
struct Range
{
/** */
Rel op;
/** */
_Tp value;
/** Default ctor: \ref Rel::ANY. */
Range()
: op( Rel::ANY )
{}
/** Ctor taking \a _Tp (\ref Rel::EQ). */
Range( const _Tp & value_r )
: op( Rel::EQ )
, value( value_r )
{}
/** Ctor taking \ref Rel and \a _Tp. */
Range( Rel op_r, const _Tp & value_r )
: op( op_r )
, value( value_r )
{}
/** Return whether two Ranges overlap. */
bool overlaps( const Range & rhs ) const
{
return range_detail::overlaps( op, rhs.op,
_Compare()( value, rhs.value ) );
}
};
///////////////////////////////////////////////////////////////////
template<class _Tp, class _Compare>
inline bool overlaps( const Range<_Tp,_Compare> & lhs,
const Range<_Tp,_Compare> & rhs )
{ return lhs.overlaps( rhs ); }
///////////////////////////////////////////////////////////////////
template<class _Tp, class _Compare>
inline bool operator==( const Range<_Tp,_Compare> & lhs,
const Range<_Tp,_Compare> & rhs )
{
return( lhs.op == rhs.op
&& ( lhs.op == Rel::ANY
|| lhs.op == Rel::NONE
|| relCompare( Rel::EQ, lhs.value, rhs.value,
_Compare() )
)
);
}
template<class _Tp, class _Compare>
inline bool operator!=( const Range<_Tp,_Compare> & lhs,
const Range<_Tp,_Compare> & rhs )
{ return ! ( lhs == rhs ); }
/////////////////////////////////////////////////////////////////
} // namespace zypp
///////////////////////////////////////////////////////////////////
#endif // ZYPP_RANGE_H
|