/usr/include/x86_64-linux-gnu/zypp/TriBool.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 | /*---------------------------------------------------------------------\
| ____ _ __ __ ___ |
| |__ / \ / / . \ . \ |
| / / \ V /| _/ _/ |
| / /__ | | | | | | |
| /_____||_| |_| |_| |
| |
\---------------------------------------------------------------------*/
/** \file zypp/TriBool.h
*
*/
#ifndef ZYPP_TRIBOOL_H
#define ZYPP_TRIBOOL_H
#include <iosfwd>
#include <string>
#include <boost/logic/tribool.hpp>
///////////////////////////////////////////////////////////////////
namespace zypp
{ /////////////////////////////////////////////////////////////////
/** 3-state boolean logic (\c true, \c false and \c indeterminate).
* \code
* namespace zypp
* {
* typedef boost::logic::tribool TriBool;
* using boost::logic::tribool;
* using boost::logic::indeterminate;
* }
* \endcode
*
* \warning Be carefull.esp. when comparing \ref TriBool using
* \c operator==, as <b><tt>( indeterminate == indeterminate )</tt></b>
* does \b not evaluate \b true. It's \c indeterminate.
*
* \see http://www.boost.org/doc/html/tribool.html
* \ingroup BOOST
*/
typedef boost::logic::tribool TriBool;
using boost::logic::tribool;
using boost::logic::indeterminate;
inline std::string asString( const TriBool & val_r, const std::string & istr_r = std::string(),
const std::string & tstr_r = std::string(),
const std::string & fstr_r = std::string() )
{
std::string ret;
if (indeterminate(val_r))
ret = ( istr_r.empty() ? "indeterminate" : istr_r );
else if (val_r)
ret = ( tstr_r.empty() ? "true" : tstr_r );
else
ret = ( fstr_r.empty() ? "false" : fstr_r );
return ret;
}
/////////////////////////////////////////////////////////////////
} // namespace zypp
///////////////////////////////////////////////////////////////////
namespace boost
{
namespace logic
{
/** \relates TriBool stream output */
inline std::ostream & operator<<(std::ostream & s, const tribool & obj)
{ return s << zypp::asString( obj ); }
}
}
#endif // ZYPP_TRIBOOL_H
|