/usr/include/cupt/common.hpp is in libcupt2-dev 2.3.2.
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 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | /**************************************************************************
* Copyright (C) 2010 by Eugene V. Lyubimkin *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License *
* (version 3 or above) as published by the Free Software Foundation. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU GPL *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA *
**************************************************************************/
#ifndef CUPT_COMMON_SEEN
#define CUPT_COMMON_SEEN
/// @cond
#define CUPT_API __attribute__ ((visibility("default")))
#define CUPT_LOCAL __attribute__ ((visibility("hidden")))
/// @endcond
/*! @file */
#include <string>
#include <vector>
#include <memory>
#include <stdexcept>
/** @namespace cupt */
namespace cupt {
CUPT_API extern const char* const libraryVersion; ///< the version of Cupt library
using std::vector;
using std::string;
/// general library exception class
/**
* Any library function may throw this exception.
*/
class CUPT_API Exception: public std::runtime_error
{
public:
/// constructor
/**
* Creates Exception object with a message @a message.
*
* @param message human-readable exception description
*/
Exception(const char* message)
: std::runtime_error(message)
{}
/// constructor
/**
* @copydoc Exception(const char*)
*/
Exception(const string& message)
: std::runtime_error(message)
{}
};
using std::pair;
using std::shared_ptr;
using std::static_pointer_cast;
using std::dynamic_pointer_cast;
/// message file descriptor
/**
* All library error, warning, debug and simulate messages will be pointed here.
* If @a messageFd @c == @c -1, messages will be suppressed. Defaults to @c -1.
*/
CUPT_API extern int messageFd;
// TODO/API break/: remove fatal, warn, debug, simulate, sf
/// @deprecated an internal method, should not be used
void CUPT_API fatal(const char* format, ...);
/// @deprecated an internal method, should not be used
void CUPT_API warn(const char* format, ...);
/// @deprecated an internal method, should not be used
void CUPT_API debug(const char* format, ...);
/// @deprecated an internal method, should not be used
void CUPT_API simulate(const char* format, ...);
/// @cond
CUPT_API string sf(const string& format, ...);
CUPT_API string join(const string& joiner, const vector< string >& parts);
CUPT_API string humanReadableSizeString(uint64_t bytes);
/// @endcond
/// localizes message
/**
* @param message input string
* @return localized message
*/
string CUPT_API __(const char* message);
/// reads package name in range
/**
* Tries to read as more characters as possible from the @a begin, which form a
* valid package name, until @a end.
*
* @param begin range begin iterator
* @param end range end iterator
* @param [in,out] resultEnd consumed range end iterator
*
* @par Example:
* @code
* string input = "zzuf (>= 1.2)";
* string::const_iterator resultEnd;
* consumePackageName(input.begin(), input.end(), resultEnd);
* cout << string(input.begin(), resultEnd) << endl;
* @endcode
* @c "zzuf" will be printed
*/
void CUPT_API consumePackageName(string::const_iterator begin, string::const_iterator end,
string::const_iterator& resultEnd);
/// checks package name for correctness
/**
* @param packageName package name
* @param throwOnError if set to @c true, function will throw exception if @a packageName is not correct
* @return @c true if the @a packageName is correct, @c false if @a packageName is not correct and @a throwOnError is @c false
*/
bool CUPT_API checkPackageName(const string& packageName, bool throwOnError = true);
/// checks version string for correctness
/**
* Equal to @ref checkPackageName, only checks version string instead of package name
*/
bool CUPT_API checkVersionString(const string& versionString, bool throwOnError = true);
/// compares two version strings
/**
* @param left left version string
* @param right right version string
* @return @c -1, if @a left @c < @a right, @c 0 if @a left @c == @a right, @c 1 if @a left @c > @a right
* @note
* The version strings may be logically equal even if they are not physically
* equal. Unless you are comparing version strings that belong to the same
* cache::Package, you should use this function to test their equality.
*/
int CUPT_API compareVersionStrings(const string& left, const string& right);
} // namespace
#include <cupt/format2.hpp>
#endif
|