3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
6 #include <BinaryAstHash.h>
8 #include "Combinatorics.h"
20 const std::string unknownLibraryName =
"UNKNOWN";
21 const std::string multiLibraryName =
"MULTIPLE_LIBS";
41 LibraryInfo(
const std::string& ilibName,
const std::string& ilibVersion,
const std::string& ilibHash,
const std::string& iarchitecture) :
42 libName(ilibName), libVersion(ilibVersion), libHash(ilibHash), architecture(iarchitecture) {
43 analysisTime = time(NULL);
92 LibraryInfo(
const std::string& ilibHash) : libName(unknownLibraryName), libVersion(unknownLibraryName), libHash(ilibHash), architecture(unknownLibraryName) { };
102 return lhs.libHash < rhs.libHash;
114 return LibraryInfo(unknownLibraryName, unknownLibraryName, unknownLibraryName, unknownLibraryName);
127 return LibraryInfo(multiLibraryName, multiLibraryName, multiLibraryName, multiLibraryName);
138 return libName +
"." + libVersion;
149 std::string libVersion;
155 std::string architecture;
friend bool operator<(const LibraryInfo &lhs, const LibraryInfo &rhs)
operator<
std::string toString()
toString
static LibraryInfo getMultiLibraryInfo()
getMultiLibraryInfo
static LibraryInfo getUnknownLibraryInfo()
getUnknownLibraryInfo
LibraryInfo(const std::string &ilibName, const std::string &ilibVersion, const std::string &ilibHash, const std::string &iarchitecture)
LibraryInfo.
LibraryInfo(const std::string &ilibHash)
LibraryInfo.