Core Changes
This commit is contained in:
parent
2a8cfcee2a
commit
ac142b6a66
51
.history/Directory_20220719185926.h
Normal file
51
.history/Directory_20220719185926.h
Normal file
@ -0,0 +1,51 @@
|
||||
#ifndef __Directory_h__
|
||||
# define __Directory_h__
|
||||
|
||||
# include "includes"
|
||||
# include "DirectoryEntry.h"
|
||||
# include "Log.h"
|
||||
|
||||
namespace coreutils {
|
||||
|
||||
class Directory {
|
||||
|
||||
public:
|
||||
Directory(std::string path) {
|
||||
dir = opendir(path.c_str());
|
||||
if(dir) {
|
||||
struct dirent *entry = readdir(dir);
|
||||
while(entry) {
|
||||
directory.emplace(std::string(entry->d_name), entry);
|
||||
entry = readdir(dir);
|
||||
}
|
||||
}
|
||||
if(directory.size() > 0)
|
||||
cursor = directory.begin();
|
||||
}
|
||||
|
||||
~Directory() {}
|
||||
|
||||
bool eod() {
|
||||
return cursor == directory.end();
|
||||
}
|
||||
|
||||
DirectoryEntry get() {
|
||||
if(eod())
|
||||
return NULL;
|
||||
return cursor->second;
|
||||
}
|
||||
|
||||
void next() {
|
||||
++cursor;
|
||||
}
|
||||
|
||||
private:
|
||||
DIR *dir;
|
||||
std::map<std::string, DirectoryEntry> directory;
|
||||
std::map<std::string, DirectoryEntry>::iterator cursor;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
58
.history/Directory_20220910202321.h
Normal file
58
.history/Directory_20220910202321.h
Normal file
@ -0,0 +1,58 @@
|
||||
#ifndef __Directory_h__
|
||||
#define __Directory_h__
|
||||
|
||||
#include "DirectoryEntry.h"
|
||||
#include "Log.h"
|
||||
#include "includes"
|
||||
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
class Directory
|
||||
{
|
||||
|
||||
public:
|
||||
Directory(std::string path)
|
||||
{
|
||||
dir = opendir(path.c_str());
|
||||
if (dir)
|
||||
{
|
||||
struct dirent *entry = readdir(dir);
|
||||
while (entry)
|
||||
{
|
||||
directory.emplace(std::string(entry->d_name), entry);
|
||||
entry = readdir(dir);
|
||||
}
|
||||
}
|
||||
if (directory.size() > 0)
|
||||
cursor = directory.begin();
|
||||
}
|
||||
|
||||
~Directory() {}
|
||||
|
||||
bool eod()
|
||||
{
|
||||
return cursor == directory.end();
|
||||
}
|
||||
|
||||
DirectoryEntry get()
|
||||
{
|
||||
if (eod())
|
||||
return NULL;
|
||||
return cursor->second;
|
||||
}
|
||||
|
||||
void next()
|
||||
{
|
||||
++cursor;
|
||||
}
|
||||
|
||||
private:
|
||||
DIR *dir;
|
||||
std::map<std::string, DirectoryEntry> directory;
|
||||
std::map<std::string, DirectoryEntry>::iterator cursor;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
58
.history/Directory_20220910202532.h
Normal file
58
.history/Directory_20220910202532.h
Normal file
@ -0,0 +1,58 @@
|
||||
#ifndef __Directory_h__
|
||||
#define __Directory_h__
|
||||
|
||||
#include "DirectoryEntry.h"
|
||||
#include "Log.h"
|
||||
#include "includes"
|
||||
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
class Directory
|
||||
{
|
||||
|
||||
public:
|
||||
Directory(std::string path)
|
||||
{
|
||||
dir = opendir(path.c_str());
|
||||
if (dir)
|
||||
{
|
||||
struct dirent *entry = readdir(dir);
|
||||
while (entry)
|
||||
{
|
||||
directory.emplace(std::string(entry->d_name), entry);
|
||||
entry = readdir(dir);
|
||||
}
|
||||
}
|
||||
if (directory.size() > 0)
|
||||
cursor = directory.begin();
|
||||
}
|
||||
|
||||
~Directory() {}
|
||||
|
||||
bool eod()
|
||||
{
|
||||
return cursor == directory.end();
|
||||
}
|
||||
|
||||
DirectoryEntry get()
|
||||
{
|
||||
if (eod())
|
||||
return NULL;
|
||||
return cursor->second;
|
||||
}
|
||||
|
||||
void next()
|
||||
{
|
||||
++cursor;
|
||||
}
|
||||
|
||||
private:
|
||||
DIR *dir;
|
||||
std::map<std::string, DirectoryEntry> directory;
|
||||
std::map<std::string, DirectoryEntry>::iterator cursor;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
211
.history/MString_20230309145238.cpp
Normal file
211
.history/MString_20230309145238.cpp
Normal file
@ -0,0 +1,211 @@
|
||||
#include "MString.h"
|
||||
#include "Log.h"
|
||||
#include <stdlib.h>
|
||||
#include <iomanip>
|
||||
#include <cstring>
|
||||
|
||||
namespace coreutils {
|
||||
|
||||
MString::MString() {
|
||||
data = NULL;
|
||||
length = 0;
|
||||
cursor = NULL;
|
||||
}
|
||||
|
||||
MString::MString(const char *data) {
|
||||
setSize(strlen(data));
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(char *data, size_t length) {
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const char *data, size_t length) {
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const MString &mstring) {
|
||||
setSize(mstring.length);
|
||||
memcpy(data, mstring.data, mstring.length);
|
||||
cursor = data;
|
||||
// Log(LOG_DEBUG_2) << "MString Copy Constructor: ";
|
||||
}
|
||||
|
||||
MString::MString(ZString &zstring) {
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(ZString zstring) {
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(std::string data) {
|
||||
setSize(data.length());
|
||||
memcpy(this->data, (char *)data.c_str(), data.length());
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::~MString() {
|
||||
if(data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString& MString::operator=(coreutils::ZString &value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
setSize(value.getLength());
|
||||
memcpy(data, value.getData(), value.getLength());
|
||||
length = value.getLength();
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString& MString::operator=(const char *value) {
|
||||
int len = strlen(value);
|
||||
setSize(len);
|
||||
memcpy(data, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString& MString::operator=(char value) {
|
||||
int len = 1;
|
||||
setSize(1);
|
||||
*data = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString& MString::operator<<(const char *value) {
|
||||
int temp = length;
|
||||
int len = strlen(value);
|
||||
setSize(len + length);
|
||||
memcpy(data + temp, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString& MString::operator<<(const int value) {
|
||||
std::stringstream temp;
|
||||
temp << value;
|
||||
*this << temp.str();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// MString& MString::operator<<(coreutils::ZString &zstring) {
|
||||
// int temp = length;
|
||||
// int len = length + zstring.getLength();
|
||||
// setSize(len);
|
||||
// memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString& MString::operator<<(coreutils::ZString zstring) {
|
||||
int temp = length;
|
||||
int len = length + zstring.getLength();
|
||||
setSize(len);
|
||||
memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString& MString::operator<<(std::string value) {
|
||||
int temp = length;
|
||||
int len = length + value.length();
|
||||
setSize(len);
|
||||
memcpy(data + temp, value.c_str(), value.length());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::insert(char ch, int offset) {
|
||||
setSize(length + 1);
|
||||
for(int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + 1] = getData()[ix];
|
||||
data[offset] = ch;
|
||||
}
|
||||
|
||||
void MString::insert(ZString &value, int offset) {
|
||||
setSize(length + value.getLength());
|
||||
for(int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.getLength()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.getData(), value.getLength());
|
||||
}
|
||||
|
||||
void MString::insert(std::string value, int offset) {
|
||||
setSize(length + value.size());
|
||||
for(int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.size()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.c_str(), value.size());
|
||||
}
|
||||
|
||||
void MString::replace(char ch, int offset) {
|
||||
|
||||
}
|
||||
|
||||
void MString::replace(ZString &value, int offset) {
|
||||
|
||||
}
|
||||
|
||||
void MString::replace(std::string value, int offset) {
|
||||
}
|
||||
|
||||
void MString::remove(int offset, int length) {
|
||||
// (data + this->length) > (data + offset + length) ? length: length; // TODO: Need to calculate correct length.
|
||||
for(int ix = offset; ix < this->length; ix++)
|
||||
getData()[ix] = getData()[ix + length];
|
||||
setSize(this->length - length);
|
||||
}
|
||||
|
||||
MString& MString::write(char ch) {
|
||||
setSize(length + 1);
|
||||
*(data + length - 1) = ch;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString& MString::write(ZString &value) {
|
||||
int len = length;
|
||||
setSize(length + value.getLength());
|
||||
memcpy(data + len, value.getData(), value.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::setSize(int size) {
|
||||
int cursorOffset = cursor - data;
|
||||
int newBufferSize = ((size / 256) + 1) * 256;
|
||||
if(bufferSize != newBufferSize) {
|
||||
bufferSize = newBufferSize;
|
||||
data = (char *)realloc(data, bufferSize);
|
||||
cursor = data + cursorOffset;
|
||||
}
|
||||
length = size;
|
||||
}
|
||||
|
||||
int MString::offset() {
|
||||
return cursor - data;
|
||||
}
|
||||
|
||||
|
||||
}
|
147
.history/MString_20230309145238.h
Normal file
147
.history/MString_20230309145238.h
Normal file
@ -0,0 +1,147 @@
|
||||
#ifndef __MString_h__
|
||||
#define __MString_h__
|
||||
|
||||
#include "ZString.h"
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
|
||||
namespace coreutils {
|
||||
|
||||
///
|
||||
/// Use the MString object when you need a permanent backing store on the heap
|
||||
/// for a ZString style functionality. Because MString has a backing store we
|
||||
/// added functionalities to build strings as well as the parsing power of the
|
||||
/// ZString.
|
||||
///
|
||||
|
||||
class MString : public ZString {
|
||||
|
||||
public:
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString(const char *data);
|
||||
|
||||
///
|
||||
/// Consructor providing the initial setup of the MString object.
|
||||
///
|
||||
|
||||
MString(char *data, size_t length);
|
||||
|
||||
MString(const char *data, size_t length);
|
||||
|
||||
///
|
||||
/// Consructor providing a copy of a ZString.
|
||||
///
|
||||
|
||||
MString(ZString &zstring);
|
||||
|
||||
MString(ZString zstring);
|
||||
|
||||
///
|
||||
/// Consructor providing a copy of a ZString.
|
||||
///
|
||||
|
||||
MString(const MString &mstring);
|
||||
|
||||
///
|
||||
/// Consructor from a string.
|
||||
///
|
||||
|
||||
MString(std::string data);
|
||||
|
||||
~MString();
|
||||
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
|
||||
// MString& operator=(coreutils::ZString& data);
|
||||
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
|
||||
// MString& operator=(coreutils::ZString& data);
|
||||
|
||||
MString& operator=(coreutils::ZString &data);
|
||||
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
|
||||
MString& operator=(const char *data);
|
||||
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
|
||||
MString& operator=(char data);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString& operator<<(const char *value);
|
||||
|
||||
MString& operator<<(const int value);
|
||||
|
||||
// MString& operator<<(coreutils::ZString &zstring);
|
||||
|
||||
MString& operator<<(coreutils::ZString zstring);
|
||||
|
||||
MString& operator<<(std::string value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
void insert(char ch, int offset);
|
||||
void insert(ZString &value, int offset);
|
||||
void insert(std::string value, int offset);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
void replace(char ch, int offset);
|
||||
void replace(ZString &value, int offset);
|
||||
void replace(std::string value, int offset);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
void remove(int offset, int length);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString& write(char ch);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString& write(ZString &value);
|
||||
|
||||
int offset();
|
||||
|
||||
private:
|
||||
int bufferSize = 0;
|
||||
void setSize(int size);
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
147
.history/MString_20230405162805.h
Normal file
147
.history/MString_20230405162805.h
Normal file
@ -0,0 +1,147 @@
|
||||
#ifndef __MString_h__
|
||||
#define __MString_h__
|
||||
|
||||
#include "ZString.h"
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
///
|
||||
/// Use the MString object when you need a permanent backing store on the heap
|
||||
/// for a ZString style functionality. Because MString has a backing store we
|
||||
/// added functionalities to build strings as well as the parsing power of the
|
||||
/// ZString.
|
||||
///
|
||||
|
||||
class MString : public ZString
|
||||
{
|
||||
|
||||
public:
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString(const char *data);
|
||||
MString(void *alias);
|
||||
///
|
||||
/// Consructor providing the initial setup of the MString object.
|
||||
///
|
||||
|
||||
MString(char *data, size_t length);
|
||||
|
||||
MString(const char *data, size_t length);
|
||||
|
||||
///
|
||||
/// Consructor providing a copy of a ZString.
|
||||
///
|
||||
|
||||
MString(ZString &zstring);
|
||||
|
||||
MString(ZString zstring);
|
||||
|
||||
///
|
||||
/// Consructor providing a copy of a ZString.
|
||||
///
|
||||
|
||||
MString(const MString &mstring);
|
||||
|
||||
///
|
||||
/// Consructor from a string.
|
||||
///
|
||||
|
||||
MString(std::string data);
|
||||
|
||||
~MString();
|
||||
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
|
||||
// MString& operator=(coreutils::ZString& data);
|
||||
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
|
||||
// MString& operator=(coreutils::ZString& data);
|
||||
|
||||
MString &operator=(coreutils::ZString &data);
|
||||
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
|
||||
MString &operator=(const char *data);
|
||||
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
|
||||
MString &operator=(char data);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString &operator<<(const char *value);
|
||||
|
||||
MString &operator<<(const int value);
|
||||
|
||||
// MString& operator<<(coreutils::ZString &zstring);
|
||||
|
||||
MString &operator<<(coreutils::ZString zstring);
|
||||
|
||||
MString &operator<<(std::string value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
void insert(char ch, int offset);
|
||||
void insert(ZString &value, int offset);
|
||||
void insert(std::string value, int offset);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
void replace(char ch, int offset);
|
||||
void replace(ZString &value, int offset);
|
||||
void replace(std::string value, int offset);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
void remove(int offset, int length);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString &write(char ch);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString &write(ZString &value);
|
||||
|
||||
int offset();
|
||||
|
||||
private:
|
||||
int bufferSize = 0;
|
||||
void setSize(int size);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
241
.history/MString_20230405162841.cpp
Normal file
241
.history/MString_20230405162841.cpp
Normal file
@ -0,0 +1,241 @@
|
||||
#include "MString.h"
|
||||
#include "Log.h"
|
||||
#include <cstring>
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
MString::MString()
|
||||
{
|
||||
data = NULL;
|
||||
length = 0;
|
||||
cursor = NULL;
|
||||
}
|
||||
|
||||
MString::MString(void *alias)
|
||||
{
|
||||
}
|
||||
|
||||
MString::MString(const char *data)
|
||||
{
|
||||
setSize(strlen(data));
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const MString &mstring)
|
||||
{
|
||||
setSize(mstring.length);
|
||||
memcpy(data, mstring.data, mstring.length);
|
||||
cursor = data;
|
||||
// Log(LOG_DEBUG_2) << "MString Copy Constructor: ";
|
||||
}
|
||||
|
||||
MString::MString(ZString &zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(ZString zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(std::string data)
|
||||
{
|
||||
setSize(data.length());
|
||||
memcpy(this->data, (char *)data.c_str(), data.length());
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::~MString()
|
||||
{
|
||||
if (data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator=(coreutils::ZString &value)
|
||||
{
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
setSize(value.getLength());
|
||||
memcpy(data, value.getData(), value.getLength());
|
||||
length = value.getLength();
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(const char *value)
|
||||
{
|
||||
int len = strlen(value);
|
||||
setSize(len);
|
||||
memcpy(data, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(char value)
|
||||
{
|
||||
int len = 1;
|
||||
setSize(1);
|
||||
*data = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const char *value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = strlen(value);
|
||||
setSize(len + length);
|
||||
memcpy(data + temp, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const int value)
|
||||
{
|
||||
std::stringstream temp;
|
||||
temp << value;
|
||||
*this << temp.str();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// MString& MString::operator<<(coreutils::ZString &zstring) {
|
||||
// int temp = length;
|
||||
// int len = length + zstring.getLength();
|
||||
// setSize(len);
|
||||
// memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator<<(coreutils::ZString zstring)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + zstring.getLength();
|
||||
setSize(len);
|
||||
memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(std::string value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + value.length();
|
||||
setSize(len);
|
||||
memcpy(data + temp, value.c_str(), value.length());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::insert(char ch, int offset)
|
||||
{
|
||||
setSize(length + 1);
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + 1] = getData()[ix];
|
||||
data[offset] = ch;
|
||||
}
|
||||
|
||||
void MString::insert(ZString &value, int offset)
|
||||
{
|
||||
setSize(length + value.getLength());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.getLength()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.getData(), value.getLength());
|
||||
}
|
||||
|
||||
void MString::insert(std::string value, int offset)
|
||||
{
|
||||
setSize(length + value.size());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.size()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.c_str(), value.size());
|
||||
}
|
||||
|
||||
void MString::replace(char ch, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(ZString &value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(std::string value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::remove(int offset, int length)
|
||||
{
|
||||
// (data + this->length) > (data + offset + length) ? length: length; // TODO: Need to calculate correct length.
|
||||
for (int ix = offset; ix < this->length; ix++)
|
||||
getData()[ix] = getData()[ix + length];
|
||||
setSize(this->length - length);
|
||||
}
|
||||
|
||||
MString &MString::write(char ch)
|
||||
{
|
||||
setSize(length + 1);
|
||||
*(data + length - 1) = ch;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::write(ZString &value)
|
||||
{
|
||||
int len = length;
|
||||
setSize(length + value.getLength());
|
||||
memcpy(data + len, value.getData(), value.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::setSize(int size)
|
||||
{
|
||||
int cursorOffset = cursor - data;
|
||||
int newBufferSize = ((size / 256) + 1) * 256;
|
||||
if (bufferSize != newBufferSize)
|
||||
{
|
||||
bufferSize = newBufferSize;
|
||||
data = (char *)realloc(data, bufferSize);
|
||||
cursor = data + cursorOffset;
|
||||
}
|
||||
length = size;
|
||||
}
|
||||
|
||||
int MString::offset()
|
||||
{
|
||||
return cursor - data;
|
||||
}
|
||||
|
||||
}
|
241
.history/MString_20230405162905.cpp
Normal file
241
.history/MString_20230405162905.cpp
Normal file
@ -0,0 +1,241 @@
|
||||
#include "MString.h"
|
||||
#include "Log.h"
|
||||
#include <cstring>
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
MString::MString()
|
||||
{
|
||||
data = NULL;
|
||||
length = 0;
|
||||
cursor = NULL;
|
||||
}
|
||||
|
||||
MString::MString(void *alias)
|
||||
{
|
||||
}
|
||||
|
||||
MString::MString(const char *data)
|
||||
{
|
||||
setSize(strlen(data));
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const MString &mstring)
|
||||
{
|
||||
setSize(mstring.length);
|
||||
memcpy(data, mstring.data, mstring.length);
|
||||
cursor = data;
|
||||
// Log(LOG_DEBUG_2) << "MString Copy Constructor: ";
|
||||
}
|
||||
|
||||
MString::MString(ZString &zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(ZString zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(std::string data)
|
||||
{
|
||||
setSize(data.length());
|
||||
memcpy(this->data, (char *)data.c_str(), data.length());
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::~MString()
|
||||
{
|
||||
if (data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator=(coreutils::ZString &value)
|
||||
{
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
setSize(value.getLength());
|
||||
memcpy(data, value.getData(), value.getLength());
|
||||
length = value.getLength();
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(const char *value)
|
||||
{
|
||||
int len = strlen(value);
|
||||
setSize(len);
|
||||
memcpy(data, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(char value)
|
||||
{
|
||||
int len = 1;
|
||||
setSize(1);
|
||||
*data = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const char *value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = strlen(value);
|
||||
setSize(len + length);
|
||||
memcpy(data + temp, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const int value)
|
||||
{
|
||||
std::stringstream temp;
|
||||
temp << value;
|
||||
*this << temp.str();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// MString& MString::operator<<(coreutils::ZString &zstring) {
|
||||
// int temp = length;
|
||||
// int len = length + zstring.getLength();
|
||||
// setSize(len);
|
||||
// memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator<<(coreutils::ZString zstring)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + zstring.getLength();
|
||||
setSize(len);
|
||||
memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(std::string value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + value.length();
|
||||
setSize(len);
|
||||
memcpy(data + temp, value.c_str(), value.length());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::insert(char ch, int offset)
|
||||
{
|
||||
setSize(length + 1);
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + 1] = getData()[ix];
|
||||
data[offset] = ch;
|
||||
}
|
||||
|
||||
void MString::insert(ZString &value, int offset)
|
||||
{
|
||||
setSize(length + value.getLength());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.getLength()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.getData(), value.getLength());
|
||||
}
|
||||
|
||||
void MString::insert(std::string value, int offset)
|
||||
{
|
||||
setSize(length + value.size());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.size()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.c_str(), value.size());
|
||||
}
|
||||
|
||||
void MString::replace(char ch, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(ZString &value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(std::string value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::remove(int offset, int length)
|
||||
{
|
||||
// (data + this->length) > (data + offset + length) ? length: length; // TODO: Need to calculate correct length.
|
||||
for (int ix = offset; ix < this->length; ix++)
|
||||
getData()[ix] = getData()[ix + length];
|
||||
setSize(this->length - length);
|
||||
}
|
||||
|
||||
MString &MString::write(char ch)
|
||||
{
|
||||
setSize(length + 1);
|
||||
*(data + length - 1) = ch;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::write(ZString &value)
|
||||
{
|
||||
int len = length;
|
||||
setSize(length + value.getLength());
|
||||
memcpy(data + len, value.getData(), value.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::setSize(int size)
|
||||
{
|
||||
int cursorOffset = cursor - data;
|
||||
int newBufferSize = ((size / 256) + 1) * 256;
|
||||
if (bufferSize != newBufferSize)
|
||||
{
|
||||
bufferSize = newBufferSize;
|
||||
data = (char *)realloc(data, bufferSize);
|
||||
cursor = data + cursorOffset;
|
||||
}
|
||||
length = size;
|
||||
}
|
||||
|
||||
int MString::offset()
|
||||
{
|
||||
return cursor - data;
|
||||
}
|
||||
|
||||
}
|
241
.history/MString_20230405162914.cpp
Normal file
241
.history/MString_20230405162914.cpp
Normal file
@ -0,0 +1,241 @@
|
||||
#include "MString.h"
|
||||
#include "Log.h"
|
||||
#include <cstring>
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
MString::MString()
|
||||
{
|
||||
data = NULL;
|
||||
length = 0;
|
||||
cursor = NULL;
|
||||
}
|
||||
|
||||
MString::MString(void *alias)
|
||||
{
|
||||
}
|
||||
|
||||
MString::MString(const char *data)
|
||||
{
|
||||
setSize(strlen(data));
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const MString &mstring)
|
||||
{
|
||||
setSize(mstring.length);
|
||||
memcpy(data, mstring.data, mstring.length);
|
||||
cursor = data;
|
||||
// Log(LOG_DEBUG_2) << "MString Copy Constructor: ";
|
||||
}
|
||||
|
||||
MString::MString(ZString &zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(ZString zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(std::string data)
|
||||
{
|
||||
setSize(data.length());
|
||||
memcpy(this->data, (char *)data.c_str(), data.length());
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::~MString()
|
||||
{
|
||||
if (data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator=(coreutils::ZString &value)
|
||||
{
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
setSize(value.getLength());
|
||||
memcpy(data, value.getData(), value.getLength());
|
||||
length = value.getLength();
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(const char *value)
|
||||
{
|
||||
int len = strlen(value);
|
||||
setSize(len);
|
||||
memcpy(data, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(char value)
|
||||
{
|
||||
int len = 1;
|
||||
setSize(1);
|
||||
*data = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const char *value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = strlen(value);
|
||||
setSize(len + length);
|
||||
memcpy(data + temp, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const int value)
|
||||
{
|
||||
std::stringstream temp;
|
||||
temp << value;
|
||||
*this << temp.str();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// MString& MString::operator<<(coreutils::ZString &zstring) {
|
||||
// int temp = length;
|
||||
// int len = length + zstring.getLength();
|
||||
// setSize(len);
|
||||
// memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator<<(coreutils::ZString zstring)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + zstring.getLength();
|
||||
setSize(len);
|
||||
memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(std::string value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + value.length();
|
||||
setSize(len);
|
||||
memcpy(data + temp, value.c_str(), value.length());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::insert(char ch, int offset)
|
||||
{
|
||||
setSize(length + 1);
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + 1] = getData()[ix];
|
||||
data[offset] = ch;
|
||||
}
|
||||
|
||||
void MString::insert(ZString &value, int offset)
|
||||
{
|
||||
setSize(length + value.getLength());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.getLength()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.getData(), value.getLength());
|
||||
}
|
||||
|
||||
void MString::insert(std::string value, int offset)
|
||||
{
|
||||
setSize(length + value.size());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.size()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.c_str(), value.size());
|
||||
}
|
||||
|
||||
void MString::replace(char ch, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(ZString &value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(std::string value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::remove(int offset, int length)
|
||||
{
|
||||
// (data + this->length) > (data + offset + length) ? length: length; // TODO: Need to calculate correct length.
|
||||
for (int ix = offset; ix < this->length; ix++)
|
||||
getData()[ix] = getData()[ix + length];
|
||||
setSize(this->length - length);
|
||||
}
|
||||
|
||||
MString &MString::write(char ch)
|
||||
{
|
||||
setSize(length + 1);
|
||||
*(data + length - 1) = ch;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::write(ZString &value)
|
||||
{
|
||||
int len = length;
|
||||
setSize(length + value.getLength());
|
||||
memcpy(data + len, value.getData(), value.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::setSize(int size)
|
||||
{
|
||||
int cursorOffset = cursor - data;
|
||||
int newBufferSize = ((size / 256) + 1) * 256;
|
||||
if (bufferSize != newBufferSize)
|
||||
{
|
||||
bufferSize = newBufferSize;
|
||||
data = (char *)realloc(data, bufferSize);
|
||||
cursor = data + cursorOffset;
|
||||
}
|
||||
length = size;
|
||||
}
|
||||
|
||||
int MString::offset()
|
||||
{
|
||||
return cursor - data;
|
||||
}
|
||||
|
||||
}
|
242
.history/MString_20230405162938.cpp
Normal file
242
.history/MString_20230405162938.cpp
Normal file
@ -0,0 +1,242 @@
|
||||
#include "MString.h"
|
||||
#include "Log.h"
|
||||
#include "uuid/uuid.h"
|
||||
#include <cstring>
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
MString::MString()
|
||||
{
|
||||
data = NULL;
|
||||
length = 0;
|
||||
cursor = NULL;
|
||||
}
|
||||
|
||||
MString::MString(void *alias)
|
||||
{
|
||||
}
|
||||
|
||||
MString::MString(const char *data)
|
||||
{
|
||||
setSize(strlen(data));
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const MString &mstring)
|
||||
{
|
||||
setSize(mstring.length);
|
||||
memcpy(data, mstring.data, mstring.length);
|
||||
cursor = data;
|
||||
// Log(LOG_DEBUG_2) << "MString Copy Constructor: ";
|
||||
}
|
||||
|
||||
MString::MString(ZString &zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(ZString zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(std::string data)
|
||||
{
|
||||
setSize(data.length());
|
||||
memcpy(this->data, (char *)data.c_str(), data.length());
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::~MString()
|
||||
{
|
||||
if (data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator=(coreutils::ZString &value)
|
||||
{
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
setSize(value.getLength());
|
||||
memcpy(data, value.getData(), value.getLength());
|
||||
length = value.getLength();
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(const char *value)
|
||||
{
|
||||
int len = strlen(value);
|
||||
setSize(len);
|
||||
memcpy(data, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(char value)
|
||||
{
|
||||
int len = 1;
|
||||
setSize(1);
|
||||
*data = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const char *value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = strlen(value);
|
||||
setSize(len + length);
|
||||
memcpy(data + temp, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const int value)
|
||||
{
|
||||
std::stringstream temp;
|
||||
temp << value;
|
||||
*this << temp.str();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// MString& MString::operator<<(coreutils::ZString &zstring) {
|
||||
// int temp = length;
|
||||
// int len = length + zstring.getLength();
|
||||
// setSize(len);
|
||||
// memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator<<(coreutils::ZString zstring)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + zstring.getLength();
|
||||
setSize(len);
|
||||
memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(std::string value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + value.length();
|
||||
setSize(len);
|
||||
memcpy(data + temp, value.c_str(), value.length());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::insert(char ch, int offset)
|
||||
{
|
||||
setSize(length + 1);
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + 1] = getData()[ix];
|
||||
data[offset] = ch;
|
||||
}
|
||||
|
||||
void MString::insert(ZString &value, int offset)
|
||||
{
|
||||
setSize(length + value.getLength());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.getLength()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.getData(), value.getLength());
|
||||
}
|
||||
|
||||
void MString::insert(std::string value, int offset)
|
||||
{
|
||||
setSize(length + value.size());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.size()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.c_str(), value.size());
|
||||
}
|
||||
|
||||
void MString::replace(char ch, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(ZString &value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(std::string value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::remove(int offset, int length)
|
||||
{
|
||||
// (data + this->length) > (data + offset + length) ? length: length; // TODO: Need to calculate correct length.
|
||||
for (int ix = offset; ix < this->length; ix++)
|
||||
getData()[ix] = getData()[ix + length];
|
||||
setSize(this->length - length);
|
||||
}
|
||||
|
||||
MString &MString::write(char ch)
|
||||
{
|
||||
setSize(length + 1);
|
||||
*(data + length - 1) = ch;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::write(ZString &value)
|
||||
{
|
||||
int len = length;
|
||||
setSize(length + value.getLength());
|
||||
memcpy(data + len, value.getData(), value.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::setSize(int size)
|
||||
{
|
||||
int cursorOffset = cursor - data;
|
||||
int newBufferSize = ((size / 256) + 1) * 256;
|
||||
if (bufferSize != newBufferSize)
|
||||
{
|
||||
bufferSize = newBufferSize;
|
||||
data = (char *)realloc(data, bufferSize);
|
||||
cursor = data + cursorOffset;
|
||||
}
|
||||
length = size;
|
||||
}
|
||||
|
||||
int MString::offset()
|
||||
{
|
||||
return cursor - data;
|
||||
}
|
||||
|
||||
}
|
242
.history/MString_20230405162943.cpp
Normal file
242
.history/MString_20230405162943.cpp
Normal file
@ -0,0 +1,242 @@
|
||||
#include "MString.h"
|
||||
#include "Log.h"
|
||||
#include "uuid/uuid.h"
|
||||
#include <cstring>
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
MString::MString()
|
||||
{
|
||||
data = NULL;
|
||||
length = 0;
|
||||
cursor = NULL;
|
||||
}
|
||||
|
||||
MString::MString(void *alias)
|
||||
{
|
||||
}
|
||||
|
||||
MString::MString(const char *data)
|
||||
{
|
||||
setSize(strlen(data));
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const MString &mstring)
|
||||
{
|
||||
setSize(mstring.length);
|
||||
memcpy(data, mstring.data, mstring.length);
|
||||
cursor = data;
|
||||
// Log(LOG_DEBUG_2) << "MString Copy Constructor: ";
|
||||
}
|
||||
|
||||
MString::MString(ZString &zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(ZString zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(std::string data)
|
||||
{
|
||||
setSize(data.length());
|
||||
memcpy(this->data, (char *)data.c_str(), data.length());
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::~MString()
|
||||
{
|
||||
if (data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator=(coreutils::ZString &value)
|
||||
{
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
setSize(value.getLength());
|
||||
memcpy(data, value.getData(), value.getLength());
|
||||
length = value.getLength();
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(const char *value)
|
||||
{
|
||||
int len = strlen(value);
|
||||
setSize(len);
|
||||
memcpy(data, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(char value)
|
||||
{
|
||||
int len = 1;
|
||||
setSize(1);
|
||||
*data = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const char *value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = strlen(value);
|
||||
setSize(len + length);
|
||||
memcpy(data + temp, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const int value)
|
||||
{
|
||||
std::stringstream temp;
|
||||
temp << value;
|
||||
*this << temp.str();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// MString& MString::operator<<(coreutils::ZString &zstring) {
|
||||
// int temp = length;
|
||||
// int len = length + zstring.getLength();
|
||||
// setSize(len);
|
||||
// memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator<<(coreutils::ZString zstring)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + zstring.getLength();
|
||||
setSize(len);
|
||||
memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(std::string value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + value.length();
|
||||
setSize(len);
|
||||
memcpy(data + temp, value.c_str(), value.length());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::insert(char ch, int offset)
|
||||
{
|
||||
setSize(length + 1);
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + 1] = getData()[ix];
|
||||
data[offset] = ch;
|
||||
}
|
||||
|
||||
void MString::insert(ZString &value, int offset)
|
||||
{
|
||||
setSize(length + value.getLength());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.getLength()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.getData(), value.getLength());
|
||||
}
|
||||
|
||||
void MString::insert(std::string value, int offset)
|
||||
{
|
||||
setSize(length + value.size());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.size()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.c_str(), value.size());
|
||||
}
|
||||
|
||||
void MString::replace(char ch, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(ZString &value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(std::string value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::remove(int offset, int length)
|
||||
{
|
||||
// (data + this->length) > (data + offset + length) ? length: length; // TODO: Need to calculate correct length.
|
||||
for (int ix = offset; ix < this->length; ix++)
|
||||
getData()[ix] = getData()[ix + length];
|
||||
setSize(this->length - length);
|
||||
}
|
||||
|
||||
MString &MString::write(char ch)
|
||||
{
|
||||
setSize(length + 1);
|
||||
*(data + length - 1) = ch;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::write(ZString &value)
|
||||
{
|
||||
int len = length;
|
||||
setSize(length + value.getLength());
|
||||
memcpy(data + len, value.getData(), value.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::setSize(int size)
|
||||
{
|
||||
int cursorOffset = cursor - data;
|
||||
int newBufferSize = ((size / 256) + 1) * 256;
|
||||
if (bufferSize != newBufferSize)
|
||||
{
|
||||
bufferSize = newBufferSize;
|
||||
data = (char *)realloc(data, bufferSize);
|
||||
cursor = data + cursorOffset;
|
||||
}
|
||||
length = size;
|
||||
}
|
||||
|
||||
int MString::offset()
|
||||
{
|
||||
return cursor - data;
|
||||
}
|
||||
|
||||
}
|
242
.history/MString_20230405162949.cpp
Normal file
242
.history/MString_20230405162949.cpp
Normal file
@ -0,0 +1,242 @@
|
||||
#include "MString.h"
|
||||
#include "Log.h"
|
||||
#include "uuid/uuid.h"
|
||||
#include <cstring>
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
MString::MString()
|
||||
{
|
||||
data = NULL;
|
||||
length = 0;
|
||||
cursor = NULL;
|
||||
}
|
||||
|
||||
MString::MString(void *alias)
|
||||
{
|
||||
}
|
||||
|
||||
MString::MString(const char *data)
|
||||
{
|
||||
setSize(strlen(data));
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const MString &mstring)
|
||||
{
|
||||
setSize(mstring.length);
|
||||
memcpy(data, mstring.data, mstring.length);
|
||||
cursor = data;
|
||||
// Log(LOG_DEBUG_2) << "MString Copy Constructor: ";
|
||||
}
|
||||
|
||||
MString::MString(ZString &zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(ZString zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(std::string data)
|
||||
{
|
||||
setSize(data.length());
|
||||
memcpy(this->data, (char *)data.c_str(), data.length());
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::~MString()
|
||||
{
|
||||
if (data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator=(coreutils::ZString &value)
|
||||
{
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
setSize(value.getLength());
|
||||
memcpy(data, value.getData(), value.getLength());
|
||||
length = value.getLength();
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(const char *value)
|
||||
{
|
||||
int len = strlen(value);
|
||||
setSize(len);
|
||||
memcpy(data, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(char value)
|
||||
{
|
||||
int len = 1;
|
||||
setSize(1);
|
||||
*data = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const char *value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = strlen(value);
|
||||
setSize(len + length);
|
||||
memcpy(data + temp, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const int value)
|
||||
{
|
||||
std::stringstream temp;
|
||||
temp << value;
|
||||
*this << temp.str();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// MString& MString::operator<<(coreutils::ZString &zstring) {
|
||||
// int temp = length;
|
||||
// int len = length + zstring.getLength();
|
||||
// setSize(len);
|
||||
// memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator<<(coreutils::ZString zstring)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + zstring.getLength();
|
||||
setSize(len);
|
||||
memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(std::string value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + value.length();
|
||||
setSize(len);
|
||||
memcpy(data + temp, value.c_str(), value.length());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::insert(char ch, int offset)
|
||||
{
|
||||
setSize(length + 1);
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + 1] = getData()[ix];
|
||||
data[offset] = ch;
|
||||
}
|
||||
|
||||
void MString::insert(ZString &value, int offset)
|
||||
{
|
||||
setSize(length + value.getLength());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.getLength()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.getData(), value.getLength());
|
||||
}
|
||||
|
||||
void MString::insert(std::string value, int offset)
|
||||
{
|
||||
setSize(length + value.size());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.size()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.c_str(), value.size());
|
||||
}
|
||||
|
||||
void MString::replace(char ch, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(ZString &value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(std::string value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::remove(int offset, int length)
|
||||
{
|
||||
// (data + this->length) > (data + offset + length) ? length: length; // TODO: Need to calculate correct length.
|
||||
for (int ix = offset; ix < this->length; ix++)
|
||||
getData()[ix] = getData()[ix + length];
|
||||
setSize(this->length - length);
|
||||
}
|
||||
|
||||
MString &MString::write(char ch)
|
||||
{
|
||||
setSize(length + 1);
|
||||
*(data + length - 1) = ch;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::write(ZString &value)
|
||||
{
|
||||
int len = length;
|
||||
setSize(length + value.getLength());
|
||||
memcpy(data + len, value.getData(), value.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::setSize(int size)
|
||||
{
|
||||
int cursorOffset = cursor - data;
|
||||
int newBufferSize = ((size / 256) + 1) * 256;
|
||||
if (bufferSize != newBufferSize)
|
||||
{
|
||||
bufferSize = newBufferSize;
|
||||
data = (char *)realloc(data, bufferSize);
|
||||
cursor = data + cursorOffset;
|
||||
}
|
||||
length = size;
|
||||
}
|
||||
|
||||
int MString::offset()
|
||||
{
|
||||
return cursor - data;
|
||||
}
|
||||
|
||||
}
|
242
.history/MString_20230405162950.cpp
Normal file
242
.history/MString_20230405162950.cpp
Normal file
@ -0,0 +1,242 @@
|
||||
#include "MString.h"
|
||||
#include "Log.h"
|
||||
#include "uuid/uuid.h"
|
||||
#include <cstring>
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
MString::MString()
|
||||
{
|
||||
data = NULL;
|
||||
length = 0;
|
||||
cursor = NULL;
|
||||
}
|
||||
|
||||
MString::MString(void *alias)
|
||||
{
|
||||
}
|
||||
|
||||
MString::MString(const char *data)
|
||||
{
|
||||
setSize(strlen(data));
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const MString &mstring)
|
||||
{
|
||||
setSize(mstring.length);
|
||||
memcpy(data, mstring.data, mstring.length);
|
||||
cursor = data;
|
||||
// Log(LOG_DEBUG_2) << "MString Copy Constructor: ";
|
||||
}
|
||||
|
||||
MString::MString(ZString &zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(ZString zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(std::string data)
|
||||
{
|
||||
setSize(data.length());
|
||||
memcpy(this->data, (char *)data.c_str(), data.length());
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::~MString()
|
||||
{
|
||||
if (data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator=(coreutils::ZString &value)
|
||||
{
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
setSize(value.getLength());
|
||||
memcpy(data, value.getData(), value.getLength());
|
||||
length = value.getLength();
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(const char *value)
|
||||
{
|
||||
int len = strlen(value);
|
||||
setSize(len);
|
||||
memcpy(data, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(char value)
|
||||
{
|
||||
int len = 1;
|
||||
setSize(1);
|
||||
*data = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const char *value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = strlen(value);
|
||||
setSize(len + length);
|
||||
memcpy(data + temp, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const int value)
|
||||
{
|
||||
std::stringstream temp;
|
||||
temp << value;
|
||||
*this << temp.str();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// MString& MString::operator<<(coreutils::ZString &zstring) {
|
||||
// int temp = length;
|
||||
// int len = length + zstring.getLength();
|
||||
// setSize(len);
|
||||
// memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator<<(coreutils::ZString zstring)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + zstring.getLength();
|
||||
setSize(len);
|
||||
memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(std::string value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + value.length();
|
||||
setSize(len);
|
||||
memcpy(data + temp, value.c_str(), value.length());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::insert(char ch, int offset)
|
||||
{
|
||||
setSize(length + 1);
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + 1] = getData()[ix];
|
||||
data[offset] = ch;
|
||||
}
|
||||
|
||||
void MString::insert(ZString &value, int offset)
|
||||
{
|
||||
setSize(length + value.getLength());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.getLength()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.getData(), value.getLength());
|
||||
}
|
||||
|
||||
void MString::insert(std::string value, int offset)
|
||||
{
|
||||
setSize(length + value.size());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.size()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.c_str(), value.size());
|
||||
}
|
||||
|
||||
void MString::replace(char ch, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(ZString &value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(std::string value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::remove(int offset, int length)
|
||||
{
|
||||
// (data + this->length) > (data + offset + length) ? length: length; // TODO: Need to calculate correct length.
|
||||
for (int ix = offset; ix < this->length; ix++)
|
||||
getData()[ix] = getData()[ix + length];
|
||||
setSize(this->length - length);
|
||||
}
|
||||
|
||||
MString &MString::write(char ch)
|
||||
{
|
||||
setSize(length + 1);
|
||||
*(data + length - 1) = ch;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::write(ZString &value)
|
||||
{
|
||||
int len = length;
|
||||
setSize(length + value.getLength());
|
||||
memcpy(data + len, value.getData(), value.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::setSize(int size)
|
||||
{
|
||||
int cursorOffset = cursor - data;
|
||||
int newBufferSize = ((size / 256) + 1) * 256;
|
||||
if (bufferSize != newBufferSize)
|
||||
{
|
||||
bufferSize = newBufferSize;
|
||||
data = (char *)realloc(data, bufferSize);
|
||||
cursor = data + cursorOffset;
|
||||
}
|
||||
length = size;
|
||||
}
|
||||
|
||||
int MString::offset()
|
||||
{
|
||||
return cursor - data;
|
||||
}
|
||||
|
||||
}
|
238
.history/MString_20230405163010.cpp
Normal file
238
.history/MString_20230405163010.cpp
Normal file
@ -0,0 +1,238 @@
|
||||
#include "MString.h"
|
||||
#include "Log.h"
|
||||
#include "uuid/uuid.h"
|
||||
#include <cstring>
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
MString::MString()
|
||||
{
|
||||
data = NULL;
|
||||
length = 0;
|
||||
cursor = NULL;
|
||||
}
|
||||
|
||||
MString::MString(const char *data)
|
||||
{
|
||||
setSize(strlen(data));
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const MString &mstring)
|
||||
{
|
||||
setSize(mstring.length);
|
||||
memcpy(data, mstring.data, mstring.length);
|
||||
cursor = data;
|
||||
// Log(LOG_DEBUG_2) << "MString Copy Constructor: ";
|
||||
}
|
||||
|
||||
MString::MString(ZString &zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(ZString zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(std::string data)
|
||||
{
|
||||
setSize(data.length());
|
||||
memcpy(this->data, (char *)data.c_str(), data.length());
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::~MString()
|
||||
{
|
||||
if (data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator=(coreutils::ZString &value)
|
||||
{
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
setSize(value.getLength());
|
||||
memcpy(data, value.getData(), value.getLength());
|
||||
length = value.getLength();
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(const char *value)
|
||||
{
|
||||
int len = strlen(value);
|
||||
setSize(len);
|
||||
memcpy(data, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(char value)
|
||||
{
|
||||
int len = 1;
|
||||
setSize(1);
|
||||
*data = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const char *value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = strlen(value);
|
||||
setSize(len + length);
|
||||
memcpy(data + temp, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const int value)
|
||||
{
|
||||
std::stringstream temp;
|
||||
temp << value;
|
||||
*this << temp.str();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// MString& MString::operator<<(coreutils::ZString &zstring) {
|
||||
// int temp = length;
|
||||
// int len = length + zstring.getLength();
|
||||
// setSize(len);
|
||||
// memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString &MString::operator<<(coreutils::ZString zstring)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + zstring.getLength();
|
||||
setSize(len);
|
||||
memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(std::string value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + value.length();
|
||||
setSize(len);
|
||||
memcpy(data + temp, value.c_str(), value.length());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::insert(char ch, int offset)
|
||||
{
|
||||
setSize(length + 1);
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + 1] = getData()[ix];
|
||||
data[offset] = ch;
|
||||
}
|
||||
|
||||
void MString::insert(ZString &value, int offset)
|
||||
{
|
||||
setSize(length + value.getLength());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.getLength()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.getData(), value.getLength());
|
||||
}
|
||||
|
||||
void MString::insert(std::string value, int offset)
|
||||
{
|
||||
setSize(length + value.size());
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.size()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.c_str(), value.size());
|
||||
}
|
||||
|
||||
void MString::replace(char ch, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(ZString &value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(std::string value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::remove(int offset, int length)
|
||||
{
|
||||
// (data + this->length) > (data + offset + length) ? length: length; // TODO: Need to calculate correct length.
|
||||
for (int ix = offset; ix < this->length; ix++)
|
||||
getData()[ix] = getData()[ix + length];
|
||||
setSize(this->length - length);
|
||||
}
|
||||
|
||||
MString &MString::write(char ch)
|
||||
{
|
||||
setSize(length + 1);
|
||||
*(data + length - 1) = ch;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::write(ZString &value)
|
||||
{
|
||||
int len = length;
|
||||
setSize(length + value.getLength());
|
||||
memcpy(data + len, value.getData(), value.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::setSize(int size)
|
||||
{
|
||||
int cursorOffset = cursor - data;
|
||||
int newBufferSize = ((size / 256) + 1) * 256;
|
||||
if (bufferSize != newBufferSize)
|
||||
{
|
||||
bufferSize = newBufferSize;
|
||||
data = (char *)realloc(data, bufferSize);
|
||||
cursor = data + cursorOffset;
|
||||
}
|
||||
length = size;
|
||||
}
|
||||
|
||||
int MString::offset()
|
||||
{
|
||||
return cursor - data;
|
||||
}
|
||||
|
||||
}
|
379
.history/ZString_20230309145238.h
Normal file
379
.history/ZString_20230309145238.h
Normal file
@ -0,0 +1,379 @@
|
||||
#ifndef __ZString_h__
|
||||
#define __ZString_h__
|
||||
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
#include <ostream>
|
||||
#include <vector>
|
||||
#include <stack>
|
||||
|
||||
namespace coreutils {
|
||||
|
||||
///
|
||||
/// Use the ZString object when advanced parsing algorithms are required to simplify
|
||||
/// parsing. ZString is not a backing store and requires that any referenced buffer
|
||||
/// or objects are retained throughout the life of the object. Additionally, ZString
|
||||
/// is non-destructive to its underlying references.
|
||||
///
|
||||
/// ZString provides several methods to reference and parse the content. First method
|
||||
/// is split(ZString delimiter) which will return a vector of ZString which contains
|
||||
/// references to the parts of the string split by the provided delimiter. The delimiter
|
||||
/// portion is omitted from the results.
|
||||
///
|
||||
/// Second method involves a cursor which is a pointer to data contained within the
|
||||
/// ZString and is used to point to the current parsing point. Several methods are
|
||||
/// provided to advance through the parsing based upon content and rule checks.
|
||||
///
|
||||
/// During the parsing process you can retrieve the parsed and unparsed sections of
|
||||
/// the ZString as ZStrings.
|
||||
///
|
||||
/// You can stream the ZString to an output stream using the << operator and the entire
|
||||
/// contents of the ZString will be output regardless of parsing activity.
|
||||
///
|
||||
|
||||
class ZString {
|
||||
|
||||
public:
|
||||
|
||||
///
|
||||
/// Consructor providing an empty ZString.
|
||||
///
|
||||
|
||||
ZString();
|
||||
|
||||
///
|
||||
/// Constructor wrapping a null terminated buffer to a ZString.
|
||||
///
|
||||
|
||||
ZString(const char *data);
|
||||
|
||||
///
|
||||
/// Consructor providing the initial setup of the ZString object.
|
||||
///
|
||||
|
||||
ZString(char *data, size_t length);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString(const char *data, size_t length);
|
||||
|
||||
///
|
||||
/// Consructor providing a copy of a ZString.
|
||||
///
|
||||
|
||||
ZString(const ZString &zstring);
|
||||
|
||||
///
|
||||
/// Consructor from a string.
|
||||
///
|
||||
|
||||
ZString(std::string &string);
|
||||
|
||||
///
|
||||
/// Consructor from a string.
|
||||
///
|
||||
|
||||
// ZString(std::string string);
|
||||
|
||||
///
|
||||
/// Destructor for the ZString.
|
||||
///
|
||||
|
||||
~ZString();
|
||||
|
||||
///
|
||||
/// A friend method used to write the value of the ZString
|
||||
/// to an ostream using the << syntax.
|
||||
///
|
||||
|
||||
friend std::ostream& operator<<(std::ostream& os, const ZString& zstring);
|
||||
friend std::ostream& operator<<(std::ostream& os, const std::string& string);
|
||||
friend std::ostream& operator+(std::ostream& os, const ZString& zstring);
|
||||
friend std::ostream& operator+(std::ostream& os, const char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool operator<(const ZString &valuex) const;
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool operator>(const ZString &valuex) const;
|
||||
bool operator==(const ZString &valuex);
|
||||
// bool operator==(std::string value);
|
||||
// bool operator==(const char *valuex) const;
|
||||
bool operator!=(const ZString &valuex) const;
|
||||
bool operator!=(const char *valuex) const;
|
||||
|
||||
///
|
||||
/// Return a vector of ZString objects which contain the parts established
|
||||
/// by using the split method and passing a delimiter value.
|
||||
///
|
||||
|
||||
std::vector<ZString> & getList();
|
||||
|
||||
///
|
||||
/// Return the integer value of the ZString from the cursor to the first
|
||||
/// non-numeric character.
|
||||
///
|
||||
|
||||
int asInteger();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
int incrementCursor(int length);
|
||||
|
||||
///
|
||||
/// Use the push method to push the current cursor pointer to a stack.
|
||||
///
|
||||
|
||||
void push();
|
||||
|
||||
///
|
||||
/// Use the pop method to pop a previously pushed cursor pointer from the
|
||||
/// cursor stack. The cursor will point to the same location in the
|
||||
/// ZString where the cursor was pushed.
|
||||
///
|
||||
|
||||
void pop();
|
||||
|
||||
///
|
||||
/// Return the value of the ZString from the cursor to the end.
|
||||
///
|
||||
|
||||
std::string str();
|
||||
|
||||
///
|
||||
/// Return the current value of the ZString as a string of
|
||||
/// specified length.
|
||||
///
|
||||
|
||||
std::string str(int len);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
char* c_str();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString substring(int start);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString substring(int start, int len);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
std::vector<ZString> &split(ZString &delimiter, size_t maxSize = 0);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
std::vector<ZString> &split(std::string delimiter, size_t maxSize = 0);
|
||||
|
||||
///
|
||||
/// Use getTokenInclude with a list of character to allow the forwarding
|
||||
/// of the cursor through the data until a character that is not in the
|
||||
/// include string is not encountered in the ZString data.
|
||||
///
|
||||
|
||||
ZString getTokenInclude(const char *include);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString getTokenExclude(const char *exclude);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString getTokenExclude(std::string exclude);
|
||||
|
||||
///
|
||||
/// If the cursor is over a container character then a call to this method
|
||||
/// will return the contents of the container. The cursor will remain at
|
||||
/// the position following the container.
|
||||
///
|
||||
|
||||
ZString getContainer();
|
||||
|
||||
///
|
||||
/// Use the [] operator to retrieve values delimited by the split method.
|
||||
///
|
||||
|
||||
ZString &operator[](int index);
|
||||
|
||||
///
|
||||
/// Return true if the ZString cursor is at the end of the data.
|
||||
///
|
||||
|
||||
bool eod();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool startsWith(const char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool equals(const char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool equals(char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool equals(ZString &zstring);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool equals(std::string &string);
|
||||
|
||||
///
|
||||
/// Advance the cursor the length of the provided value if the value at
|
||||
/// the cursor position is equal to the value provided.
|
||||
///
|
||||
|
||||
bool ifNext(const char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool ifNext(ZString &value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
int ifEqualsCount(ZString &comparator);
|
||||
|
||||
///
|
||||
/// Advance the cursor through the ZString for each whitespace character
|
||||
/// encountered.
|
||||
///
|
||||
|
||||
int skipWhitespace();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString goeol();
|
||||
|
||||
///
|
||||
/// Return a block of data as a ZString from the cursor location for
|
||||
/// the number of bytes specified by size.
|
||||
///
|
||||
|
||||
ZString readBlock(size_t size);
|
||||
|
||||
///
|
||||
/// Return a pointer to the beginning of the ZString data.
|
||||
///
|
||||
|
||||
char* getData();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
char* getCursor();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
void setCursor(char *cursor);
|
||||
|
||||
///
|
||||
/// Return the length of the ZString.
|
||||
///
|
||||
|
||||
size_t getLength();
|
||||
|
||||
///
|
||||
/// Set this ZString to have the same data space as the ZString pointer
|
||||
/// passed into the method.
|
||||
///
|
||||
|
||||
void setZString(ZString zstring);
|
||||
|
||||
///
|
||||
/// Use the parsed method to return a ZString that represents the portion
|
||||
/// ZString that has been parsed. The returned ZString represents the
|
||||
/// portion of the ZString from the data pointer to the cursor.
|
||||
///
|
||||
|
||||
ZString parsed();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString unparsed();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
void reset();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
char charAt(int index);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool ifCRLF();
|
||||
|
||||
void nextChar();
|
||||
|
||||
protected:
|
||||
char *data;
|
||||
char *cursor;
|
||||
size_t length;
|
||||
char *cdata = NULL;
|
||||
std::vector<ZString> list;
|
||||
|
||||
private:
|
||||
std::stack<char *> stack;
|
||||
bool isCharacter(char ch, const char *string);
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
379
.history/ZString_20230405163501.h
Normal file
379
.history/ZString_20230405163501.h
Normal file
@ -0,0 +1,379 @@
|
||||
#ifndef __ZString_h__
|
||||
#define __ZString_h__
|
||||
|
||||
#include <ostream>
|
||||
#include <stack>
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
///
|
||||
/// Use the ZString object when advanced parsing algorithms are required to simplify
|
||||
/// parsing. ZString is not a backing store and requires that any referenced buffer
|
||||
/// or objects are retained throughout the life of the object. Additionally, ZString
|
||||
/// is non-destructive to its underlying references.
|
||||
///
|
||||
/// ZString provides several methods to reference and parse the content. First method
|
||||
/// is split(ZString delimiter) which will return a vector of ZString which contains
|
||||
/// references to the parts of the string split by the provided delimiter. The delimiter
|
||||
/// portion is omitted from the results.
|
||||
///
|
||||
/// Second method involves a cursor which is a pointer to data contained within the
|
||||
/// ZString and is used to point to the current parsing point. Several methods are
|
||||
/// provided to advance through the parsing based upon content and rule checks.
|
||||
///
|
||||
/// During the parsing process you can retrieve the parsed and unparsed sections of
|
||||
/// the ZString as ZStrings.
|
||||
///
|
||||
/// You can stream the ZString to an output stream using the << operator and the entire
|
||||
/// contents of the ZString will be output regardless of parsing activity.
|
||||
///
|
||||
|
||||
class ZString
|
||||
{
|
||||
|
||||
public:
|
||||
///
|
||||
/// Consructor providing an empty ZString.
|
||||
///
|
||||
|
||||
ZString();
|
||||
|
||||
///
|
||||
/// Constructor wrapping a null terminated buffer to a ZString.
|
||||
///
|
||||
|
||||
ZString(const char *data);
|
||||
|
||||
///
|
||||
/// Consructor providing the initial setup of the ZString object.
|
||||
///
|
||||
|
||||
ZString(char *data, size_t length);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString(const char *data, size_t length);
|
||||
|
||||
///
|
||||
/// Consructor providing a copy of a ZString.
|
||||
///
|
||||
|
||||
ZString(const ZString &zstring);
|
||||
|
||||
///
|
||||
/// Consructor from a string.
|
||||
///
|
||||
|
||||
ZString(std::string &string);
|
||||
|
||||
///
|
||||
/// Consructor from a string.
|
||||
///
|
||||
|
||||
// ZString(std::string string);
|
||||
|
||||
///
|
||||
/// Destructor for the ZString.
|
||||
///
|
||||
|
||||
~ZString();
|
||||
|
||||
///
|
||||
/// A friend method used to write the value of the ZString
|
||||
/// to an ostream using the << syntax.
|
||||
///
|
||||
|
||||
friend std::ostream &operator<<(std::ostream &os, const ZString &zstring);
|
||||
friend std::ostream &operator<<(std::ostream &os, const std::string &string);
|
||||
friend std::ostream &operator+(std::ostream &os, const ZString &zstring);
|
||||
friend std::ostream &operator+(std::ostream &os, const char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool operator<(const ZString &valuex) const;
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool operator>(const ZString &valuex) const;
|
||||
bool operator==(const ZString &valuex);
|
||||
// bool operator==(std::string value);
|
||||
// bool operator==(const char *valuex) const;
|
||||
bool operator!=(const ZString &valuex) const;
|
||||
bool operator!=(const char *valuex) const;
|
||||
|
||||
///
|
||||
/// Return a vector of ZString objects which contain the parts established
|
||||
/// by using the split method and passing a delimiter value.
|
||||
///
|
||||
|
||||
std::vector<ZString> &getList();
|
||||
|
||||
///
|
||||
/// Return the integer value of the ZString from the cursor to the first
|
||||
/// non-numeric character.
|
||||
///
|
||||
|
||||
int asInteger();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
int incrementCursor(int length);
|
||||
|
||||
///
|
||||
/// Use the push method to push the current cursor pointer to a stack.
|
||||
///
|
||||
|
||||
void push();
|
||||
|
||||
///
|
||||
/// Use the pop method to pop a previously pushed cursor pointer from the
|
||||
/// cursor stack. The cursor will point to the same location in the
|
||||
/// ZString where the cursor was pushed.
|
||||
///
|
||||
|
||||
void pop();
|
||||
|
||||
///
|
||||
/// Return the value of the ZString from the cursor to the end.
|
||||
///
|
||||
|
||||
std::string str();
|
||||
|
||||
///
|
||||
/// Return the current value of the ZString as a string of
|
||||
/// specified length.
|
||||
///
|
||||
|
||||
std::string str(int len);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
char *c_str();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString substring(int start);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString substring(int start, int len);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
std::vector<ZString> &split(ZString &delimiter, size_t maxSize = 0);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
std::vector<ZString> &split(std::string delimiter, size_t maxSize = 0);
|
||||
|
||||
///
|
||||
/// Use getTokenInclude with a list of character to allow the forwarding
|
||||
/// of the cursor through the data until a character that is not in the
|
||||
/// include string is not encountered in the ZString data.
|
||||
///
|
||||
|
||||
ZString getTokenInclude(const char *include);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString getTokenExclude(const char *exclude);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString getTokenExclude(std::string exclude);
|
||||
|
||||
///
|
||||
/// If the cursor is over a container character then a call to this method
|
||||
/// will return the contents of the container. The cursor will remain at
|
||||
/// the position following the container.
|
||||
///
|
||||
|
||||
ZString getContainer();
|
||||
|
||||
///
|
||||
/// Use the [] operator to retrieve values delimited by the split method.
|
||||
///
|
||||
|
||||
ZString &operator[](int index);
|
||||
|
||||
///
|
||||
/// Return true if the ZString cursor is at the end of the data.
|
||||
///
|
||||
|
||||
bool eod();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool startsWith(const char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool equals(const char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool equals(char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool equals(ZString &zstring);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool equals(std::string &string);
|
||||
|
||||
///
|
||||
/// Advance the cursor the length of the provided value if the value at
|
||||
/// the cursor position is equal to the value provided.
|
||||
///
|
||||
|
||||
bool ifNext(const char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool ifNext(ZString &value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
int ifEqualsCount(ZString &comparator);
|
||||
|
||||
///
|
||||
/// Advance the cursor through the ZString for each whitespace character
|
||||
/// encountered.
|
||||
///
|
||||
|
||||
int skipWhitespace();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString goeol();
|
||||
|
||||
///
|
||||
/// Return a block of data as a ZString from the cursor location for
|
||||
/// the number of bytes specified by size.
|
||||
///
|
||||
|
||||
ZString readBlock(size_t size);
|
||||
|
||||
///
|
||||
/// Return a pointer to the beginning of the ZString data.
|
||||
///
|
||||
|
||||
char *getData();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
char *getCursor();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
void setCursor(char *cursor);
|
||||
|
||||
///
|
||||
/// Return the length of the ZString.
|
||||
///
|
||||
|
||||
size_t getLength();
|
||||
|
||||
///
|
||||
/// Set this ZString to have the same data space as the ZString pointer
|
||||
/// passed into the method.
|
||||
///
|
||||
|
||||
void setZString(ZString zstring);
|
||||
|
||||
///
|
||||
/// Use the parsed method to return a ZString that represents the portion
|
||||
/// ZString that has been parsed. The returned ZString represents the
|
||||
/// portion of the ZString from the data pointer to the cursor.
|
||||
///
|
||||
|
||||
ZString parsed();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString unparsed();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
void reset();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
char charAt(int index);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool ifCRLF();
|
||||
|
||||
void nextChar();
|
||||
|
||||
protected:
|
||||
char *data;
|
||||
char *cursor;
|
||||
size_t length;
|
||||
char *cdata = NULL;
|
||||
std::vector<ZString> list;
|
||||
|
||||
private:
|
||||
std::stack<char *> stack;
|
||||
bool isCharacter(char ch, const char *string);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
161
MString.cpp
161
MString.cpp
@ -1,68 +1,79 @@
|
||||
#include "MString.h"
|
||||
#include "Log.h"
|
||||
#include <stdlib.h>
|
||||
#include <iomanip>
|
||||
#include "uuid/uuid.h"
|
||||
#include <cstring>
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
|
||||
namespace coreutils {
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
MString::MString() {
|
||||
MString::MString()
|
||||
{
|
||||
data = NULL;
|
||||
length = 0;
|
||||
cursor = NULL;
|
||||
}
|
||||
|
||||
MString::MString(const char *data) {
|
||||
MString::MString(const char *data)
|
||||
{
|
||||
setSize(strlen(data));
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(char *data, size_t length) {
|
||||
MString::MString(char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const char *data, size_t length) {
|
||||
MString::MString(const char *data, size_t length)
|
||||
{
|
||||
setSize(length);
|
||||
memcpy(this->data, data, length);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(const MString &mstring) {
|
||||
MString::MString(const MString &mstring)
|
||||
{
|
||||
setSize(mstring.length);
|
||||
memcpy(data, mstring.data, mstring.length);
|
||||
cursor = data;
|
||||
// Log(LOG_DEBUG_2) << "MString Copy Constructor: ";
|
||||
// Log(LOG_DEBUG_2) << "MString Copy Constructor: ";
|
||||
}
|
||||
|
||||
MString::MString(ZString &zstring) {
|
||||
MString::MString(ZString &zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(ZString zstring) {
|
||||
MString::MString(ZString zstring)
|
||||
{
|
||||
setSize(zstring.getLength());
|
||||
memcpy(data, zstring.getData(), zstring.getLength());
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
MString::MString(std::string data) {
|
||||
MString::MString(std::string data)
|
||||
{
|
||||
setSize(data.length());
|
||||
memcpy(this->data, (char *)data.c_str(), data.length());
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::~MString() {
|
||||
if(data)
|
||||
free(data);
|
||||
MString::~MString()
|
||||
{
|
||||
if (data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
// MString& MString::operator=(coreutils::ZString& value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
// return *this;
|
||||
// int len = length;
|
||||
// setSize(length + value.getLength());
|
||||
// memcpy(data + len, value.getData(), value.getLength());
|
||||
@ -78,30 +89,34 @@ namespace coreutils {
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString& MString::operator=(coreutils::ZString &value) {
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
MString &MString::operator=(coreutils::ZString &value)
|
||||
{
|
||||
// if(*this == value)
|
||||
// return *this;
|
||||
setSize(value.getLength());
|
||||
memcpy(data, value.getData(), value.getLength());
|
||||
length = value.getLength();
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString& MString::operator=(const char *value) {
|
||||
MString &MString::operator=(const char *value)
|
||||
{
|
||||
int len = strlen(value);
|
||||
setSize(len);
|
||||
memcpy(data, value, len);
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString& MString::operator=(char value) {
|
||||
MString &MString::operator=(char value)
|
||||
{
|
||||
int len = 1;
|
||||
setSize(1);
|
||||
*data = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString& MString::operator<<(const char *value) {
|
||||
MString &MString::operator<<(const char *value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = strlen(value);
|
||||
setSize(len + length);
|
||||
@ -109,22 +124,24 @@ namespace coreutils {
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString& MString::operator<<(const int value) {
|
||||
MString &MString::operator<<(const int value)
|
||||
{
|
||||
std::stringstream temp;
|
||||
temp << value;
|
||||
*this << temp.str();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// MString& MString::operator<<(coreutils::ZString &zstring) {
|
||||
// int temp = length;
|
||||
// int len = length + zstring.getLength();
|
||||
// setSize(len);
|
||||
// memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
// MString& MString::operator<<(coreutils::ZString &zstring) {
|
||||
// int temp = length;
|
||||
// int len = length + zstring.getLength();
|
||||
// setSize(len);
|
||||
// memcpy(data + temp, zstring.getData(), zstring.getLength());
|
||||
// return *this;
|
||||
// }
|
||||
|
||||
MString& MString::operator<<(coreutils::ZString zstring) {
|
||||
MString &MString::operator<<(coreutils::ZString zstring)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + zstring.getLength();
|
||||
setSize(len);
|
||||
@ -132,7 +149,8 @@ namespace coreutils {
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString& MString::operator<<(std::string value) {
|
||||
MString &MString::operator<<(std::string value)
|
||||
{
|
||||
int temp = length;
|
||||
int len = length + value.length();
|
||||
setSize(len);
|
||||
@ -140,72 +158,81 @@ namespace coreutils {
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::insert(char ch, int offset) {
|
||||
setSize(length + 1);
|
||||
for(int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + 1] = getData()[ix];
|
||||
void MString::insert(char ch, int offset)
|
||||
{
|
||||
setSize(length + 1);
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + 1] = getData()[ix];
|
||||
data[offset] = ch;
|
||||
}
|
||||
|
||||
void MString::insert(ZString &value, int offset) {
|
||||
|
||||
void MString::insert(ZString &value, int offset)
|
||||
{
|
||||
setSize(length + value.getLength());
|
||||
for(int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.getLength()] = getData()[ix];
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.getLength()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.getData(), value.getLength());
|
||||
}
|
||||
|
||||
void MString::insert(std::string value, int offset) {
|
||||
|
||||
void MString::insert(std::string value, int offset)
|
||||
{
|
||||
setSize(length + value.size());
|
||||
for(int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.size()] = getData()[ix];
|
||||
for (int ix = length; ix >= offset; ix--)
|
||||
getData()[ix + value.size()] = getData()[ix];
|
||||
std::memcpy(data + offset, value.c_str(), value.size());
|
||||
}
|
||||
|
||||
void MString::replace(char ch, int offset) {
|
||||
|
||||
|
||||
void MString::replace(char ch, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(ZString &value, int offset) {
|
||||
|
||||
|
||||
void MString::replace(ZString &value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::replace(std::string value, int offset) {
|
||||
|
||||
void MString::replace(std::string value, int offset)
|
||||
{
|
||||
}
|
||||
|
||||
void MString::remove(int offset, int length) {
|
||||
// (data + this->length) > (data + offset + length) ? length: length; // TODO: Need to calculate correct length.
|
||||
for(int ix = offset; ix < this->length; ix++)
|
||||
getData()[ix] = getData()[ix + length];
|
||||
|
||||
void MString::remove(int offset, int length)
|
||||
{
|
||||
// (data + this->length) > (data + offset + length) ? length: length; // TODO: Need to calculate correct length.
|
||||
for (int ix = offset; ix < this->length; ix++)
|
||||
getData()[ix] = getData()[ix + length];
|
||||
setSize(this->length - length);
|
||||
}
|
||||
|
||||
MString& MString::write(char ch) {
|
||||
|
||||
MString &MString::write(char ch)
|
||||
{
|
||||
setSize(length + 1);
|
||||
*(data + length - 1) = ch;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString& MString::write(ZString &value) {
|
||||
MString &MString::write(ZString &value)
|
||||
{
|
||||
int len = length;
|
||||
setSize(length + value.getLength());
|
||||
memcpy(data + len, value.getData(), value.getLength());
|
||||
return *this;
|
||||
}
|
||||
|
||||
void MString::setSize(int size) {
|
||||
void MString::setSize(int size)
|
||||
{
|
||||
int cursorOffset = cursor - data;
|
||||
int newBufferSize = ((size / 256) + 1) * 256;
|
||||
if(bufferSize != newBufferSize) {
|
||||
bufferSize = newBufferSize;
|
||||
data = (char *)realloc(data, bufferSize);
|
||||
cursor = data + cursorOffset;
|
||||
if (bufferSize != newBufferSize)
|
||||
{
|
||||
bufferSize = newBufferSize;
|
||||
data = (char *)realloc(data, bufferSize);
|
||||
cursor = data + cursorOffset;
|
||||
}
|
||||
length = size;
|
||||
}
|
||||
|
||||
int MString::offset() {
|
||||
int MString::offset()
|
||||
{
|
||||
return cursor - data;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
182
MString.h
182
MString.h
@ -5,142 +5,142 @@
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
|
||||
namespace coreutils {
|
||||
|
||||
///
|
||||
/// Use the MString object when you need a permanent backing store on the heap
|
||||
/// for a ZString style functionality. Because MString has a backing store we
|
||||
/// added functionalities to build strings as well as the parsing power of the
|
||||
/// ZString.
|
||||
///
|
||||
|
||||
class MString : public ZString {
|
||||
|
||||
public:
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
///
|
||||
///
|
||||
/// Use the MString object when you need a permanent backing store on the heap
|
||||
/// for a ZString style functionality. Because MString has a backing store we
|
||||
/// added functionalities to build strings as well as the parsing power of the
|
||||
/// ZString.
|
||||
///
|
||||
|
||||
MString();
|
||||
class MString : public ZString
|
||||
{
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
public:
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString(const char *data);
|
||||
MString();
|
||||
|
||||
///
|
||||
/// Consructor providing the initial setup of the MString object.
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString(char *data, size_t length);
|
||||
MString(const char *data);
|
||||
MString(void *alias);
|
||||
///
|
||||
/// Consructor providing the initial setup of the MString object.
|
||||
///
|
||||
|
||||
MString(const char *data, size_t length);
|
||||
MString(char *data, size_t length);
|
||||
|
||||
///
|
||||
/// Consructor providing a copy of a ZString.
|
||||
///
|
||||
MString(const char *data, size_t length);
|
||||
|
||||
MString(ZString &zstring);
|
||||
///
|
||||
/// Consructor providing a copy of a ZString.
|
||||
///
|
||||
|
||||
MString(ZString zstring);
|
||||
MString(ZString &zstring);
|
||||
|
||||
///
|
||||
/// Consructor providing a copy of a ZString.
|
||||
///
|
||||
MString(ZString zstring);
|
||||
|
||||
MString(const MString &mstring);
|
||||
///
|
||||
/// Consructor providing a copy of a ZString.
|
||||
///
|
||||
|
||||
///
|
||||
/// Consructor from a string.
|
||||
///
|
||||
MString(const MString &mstring);
|
||||
|
||||
MString(std::string data);
|
||||
///
|
||||
/// Consructor from a string.
|
||||
///
|
||||
|
||||
~MString();
|
||||
MString(std::string data);
|
||||
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
~MString();
|
||||
|
||||
// MString& operator=(coreutils::ZString& data);
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
// MString& operator=(coreutils::ZString& data);
|
||||
|
||||
// MString& operator=(coreutils::ZString& data);
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
|
||||
MString& operator=(coreutils::ZString &data);
|
||||
// MString& operator=(coreutils::ZString& data);
|
||||
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
MString &operator=(coreutils::ZString &data);
|
||||
|
||||
MString& operator=(const char *data);
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
MString &operator=(const char *data);
|
||||
|
||||
MString& operator=(char data);
|
||||
///
|
||||
/// Assignment operator will copy data to backing store.
|
||||
///
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
MString &operator=(char data);
|
||||
|
||||
MString& operator<<(const char *value);
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString& operator<<(const int value);
|
||||
MString &operator<<(const char *value);
|
||||
|
||||
// MString& operator<<(coreutils::ZString &zstring);
|
||||
MString &operator<<(const int value);
|
||||
|
||||
MString& operator<<(coreutils::ZString zstring);
|
||||
// MString& operator<<(coreutils::ZString &zstring);
|
||||
|
||||
MString& operator<<(std::string value);
|
||||
MString &operator<<(coreutils::ZString zstring);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
MString &operator<<(std::string value);
|
||||
|
||||
void insert(char ch, int offset);
|
||||
void insert(ZString &value, int offset);
|
||||
void insert(std::string value, int offset);
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
void insert(char ch, int offset);
|
||||
void insert(ZString &value, int offset);
|
||||
void insert(std::string value, int offset);
|
||||
|
||||
void replace(char ch, int offset);
|
||||
void replace(ZString &value, int offset);
|
||||
void replace(std::string value, int offset);
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
void replace(char ch, int offset);
|
||||
void replace(ZString &value, int offset);
|
||||
void replace(std::string value, int offset);
|
||||
|
||||
void remove(int offset, int length);
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
void remove(int offset, int length);
|
||||
|
||||
MString& write(char ch);
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
MString &write(char ch);
|
||||
|
||||
MString& write(ZString &value);
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
int offset();
|
||||
MString &write(ZString &value);
|
||||
|
||||
private:
|
||||
int bufferSize = 0;
|
||||
void setSize(int size);
|
||||
int offset();
|
||||
|
||||
};
|
||||
private:
|
||||
int bufferSize = 0;
|
||||
void setSize(int size);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
528
ZString.h
528
ZString.h
@ -1,378 +1,378 @@
|
||||
#ifndef __ZString_h__
|
||||
#define __ZString_h__
|
||||
|
||||
#include <ostream>
|
||||
#include <stack>
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
#include <ostream>
|
||||
#include <vector>
|
||||
#include <stack>
|
||||
|
||||
namespace coreutils {
|
||||
namespace coreutils
|
||||
{
|
||||
|
||||
///
|
||||
/// Use the ZString object when advanced parsing algorithms are required to simplify
|
||||
/// parsing. ZString is not a backing store and requires that any referenced buffer
|
||||
/// or objects are retained throughout the life of the object. Additionally, ZString
|
||||
/// is non-destructive to its underlying references.
|
||||
///
|
||||
/// ZString provides several methods to reference and parse the content. First method
|
||||
/// is split(ZString delimiter) which will return a vector of ZString which contains
|
||||
/// references to the parts of the string split by the provided delimiter. The delimiter
|
||||
/// portion is omitted from the results.
|
||||
///
|
||||
/// Second method involves a cursor which is a pointer to data contained within the
|
||||
/// ZString and is used to point to the current parsing point. Several methods are
|
||||
/// provided to advance through the parsing based upon content and rule checks.
|
||||
///
|
||||
/// During the parsing process you can retrieve the parsed and unparsed sections of
|
||||
/// the ZString as ZStrings.
|
||||
///
|
||||
/// You can stream the ZString to an output stream using the << operator and the entire
|
||||
/// contents of the ZString will be output regardless of parsing activity.
|
||||
///
|
||||
|
||||
///
|
||||
/// Use the ZString object when advanced parsing algorithms are required to simplify
|
||||
/// parsing. ZString is not a backing store and requires that any referenced buffer
|
||||
/// or objects are retained throughout the life of the object. Additionally, ZString
|
||||
/// is non-destructive to its underlying references.
|
||||
///
|
||||
/// ZString provides several methods to reference and parse the content. First method
|
||||
/// is split(ZString delimiter) which will return a vector of ZString which contains
|
||||
/// references to the parts of the string split by the provided delimiter. The delimiter
|
||||
/// portion is omitted from the results.
|
||||
///
|
||||
/// Second method involves a cursor which is a pointer to data contained within the
|
||||
/// ZString and is used to point to the current parsing point. Several methods are
|
||||
/// provided to advance through the parsing based upon content and rule checks.
|
||||
///
|
||||
/// During the parsing process you can retrieve the parsed and unparsed sections of
|
||||
/// the ZString as ZStrings.
|
||||
///
|
||||
/// You can stream the ZString to an output stream using the << operator and the entire
|
||||
/// contents of the ZString will be output regardless of parsing activity.
|
||||
///
|
||||
class ZString
|
||||
{
|
||||
|
||||
class ZString {
|
||||
public:
|
||||
///
|
||||
/// Consructor providing an empty ZString.
|
||||
///
|
||||
|
||||
public:
|
||||
ZString();
|
||||
|
||||
///
|
||||
/// Consructor providing an empty ZString.
|
||||
///
|
||||
///
|
||||
/// Constructor wrapping a null terminated buffer to a ZString.
|
||||
///
|
||||
|
||||
ZString();
|
||||
ZString(const char *data);
|
||||
|
||||
///
|
||||
/// Constructor wrapping a null terminated buffer to a ZString.
|
||||
///
|
||||
///
|
||||
/// Consructor providing the initial setup of the ZString object.
|
||||
///
|
||||
|
||||
ZString(const char *data);
|
||||
ZString(char *data, size_t length);
|
||||
|
||||
///
|
||||
/// Consructor providing the initial setup of the ZString object.
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString(char *data, size_t length);
|
||||
ZString(const char *data, size_t length);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// Consructor providing a copy of a ZString.
|
||||
///
|
||||
|
||||
ZString(const char *data, size_t length);
|
||||
ZString(const ZString &zstring);
|
||||
|
||||
///
|
||||
/// Consructor providing a copy of a ZString.
|
||||
///
|
||||
///
|
||||
/// Consructor from a string.
|
||||
///
|
||||
|
||||
ZString(const ZString &zstring);
|
||||
ZString(std::string &string);
|
||||
|
||||
///
|
||||
/// Consructor from a string.
|
||||
///
|
||||
///
|
||||
/// Consructor from a string.
|
||||
///
|
||||
|
||||
ZString(std::string &string);
|
||||
// ZString(std::string string);
|
||||
|
||||
///
|
||||
/// Consructor from a string.
|
||||
///
|
||||
///
|
||||
/// Destructor for the ZString.
|
||||
///
|
||||
|
||||
// ZString(std::string string);
|
||||
~ZString();
|
||||
|
||||
///
|
||||
/// Destructor for the ZString.
|
||||
///
|
||||
///
|
||||
/// A friend method used to write the value of the ZString
|
||||
/// to an ostream using the << syntax.
|
||||
///
|
||||
|
||||
~ZString();
|
||||
friend std::ostream &operator<<(std::ostream &os, const ZString &zstring);
|
||||
friend std::ostream &operator<<(std::ostream &os, const std::string &string);
|
||||
friend std::ostream &operator+(std::ostream &os, const ZString &zstring);
|
||||
friend std::ostream &operator+(std::ostream &os, const char *value);
|
||||
|
||||
///
|
||||
/// A friend method used to write the value of the ZString
|
||||
/// to an ostream using the << syntax.
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
friend std::ostream& operator<<(std::ostream& os, const ZString& zstring);
|
||||
friend std::ostream& operator<<(std::ostream& os, const std::string& string);
|
||||
friend std::ostream& operator+(std::ostream& os, const ZString& zstring);
|
||||
friend std::ostream& operator+(std::ostream& os, const char *value);
|
||||
bool operator<(const ZString &valuex) const;
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool operator<(const ZString &valuex) const;
|
||||
bool operator>(const ZString &valuex) const;
|
||||
bool operator==(const ZString &valuex);
|
||||
// bool operator==(std::string value);
|
||||
// bool operator==(const char *valuex) const;
|
||||
bool operator!=(const ZString &valuex) const;
|
||||
bool operator!=(const char *valuex) const;
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// Return a vector of ZString objects which contain the parts established
|
||||
/// by using the split method and passing a delimiter value.
|
||||
///
|
||||
|
||||
bool operator>(const ZString &valuex) const;
|
||||
bool operator==(const ZString &valuex);
|
||||
// bool operator==(std::string value);
|
||||
// bool operator==(const char *valuex) const;
|
||||
bool operator!=(const ZString &valuex) const;
|
||||
bool operator!=(const char *valuex) const;
|
||||
std::vector<ZString> &getList();
|
||||
|
||||
///
|
||||
/// Return a vector of ZString objects which contain the parts established
|
||||
/// by using the split method and passing a delimiter value.
|
||||
///
|
||||
///
|
||||
/// Return the integer value of the ZString from the cursor to the first
|
||||
/// non-numeric character.
|
||||
///
|
||||
|
||||
std::vector<ZString> & getList();
|
||||
int asInteger();
|
||||
|
||||
///
|
||||
/// Return the integer value of the ZString from the cursor to the first
|
||||
/// non-numeric character.
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
int asInteger();
|
||||
int incrementCursor(int length);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// Use the push method to push the current cursor pointer to a stack.
|
||||
///
|
||||
|
||||
int incrementCursor(int length);
|
||||
void push();
|
||||
|
||||
///
|
||||
/// Use the push method to push the current cursor pointer to a stack.
|
||||
///
|
||||
///
|
||||
/// Use the pop method to pop a previously pushed cursor pointer from the
|
||||
/// cursor stack. The cursor will point to the same location in the
|
||||
/// ZString where the cursor was pushed.
|
||||
///
|
||||
|
||||
void push();
|
||||
void pop();
|
||||
|
||||
///
|
||||
/// Use the pop method to pop a previously pushed cursor pointer from the
|
||||
/// cursor stack. The cursor will point to the same location in the
|
||||
/// ZString where the cursor was pushed.
|
||||
///
|
||||
///
|
||||
/// Return the value of the ZString from the cursor to the end.
|
||||
///
|
||||
|
||||
void pop();
|
||||
std::string str();
|
||||
|
||||
///
|
||||
/// Return the value of the ZString from the cursor to the end.
|
||||
///
|
||||
///
|
||||
/// Return the current value of the ZString as a string of
|
||||
/// specified length.
|
||||
///
|
||||
|
||||
std::string str();
|
||||
std::string str(int len);
|
||||
|
||||
///
|
||||
/// Return the current value of the ZString as a string of
|
||||
/// specified length.
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
std::string str(int len);
|
||||
char *c_str();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
char* c_str();
|
||||
ZString substring(int start);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString substring(int start);
|
||||
ZString substring(int start, int len);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString substring(int start, int len);
|
||||
std::vector<ZString> &split(ZString &delimiter, size_t maxSize = 0);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
std::vector<ZString> &split(ZString &delimiter, size_t maxSize = 0);
|
||||
std::vector<ZString> &split(std::string delimiter, size_t maxSize = 0);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// Use getTokenInclude with a list of character to allow the forwarding
|
||||
/// of the cursor through the data until a character that is not in the
|
||||
/// include string is not encountered in the ZString data.
|
||||
///
|
||||
|
||||
std::vector<ZString> &split(std::string delimiter, size_t maxSize = 0);
|
||||
ZString getTokenInclude(const char *include);
|
||||
|
||||
///
|
||||
/// Use getTokenInclude with a list of character to allow the forwarding
|
||||
/// of the cursor through the data until a character that is not in the
|
||||
/// include string is not encountered in the ZString data.
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString getTokenInclude(const char *include);
|
||||
ZString getTokenExclude(const char *exclude);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString getTokenExclude(const char *exclude);
|
||||
ZString getTokenExclude(std::string exclude);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// If the cursor is over a container character then a call to this method
|
||||
/// will return the contents of the container. The cursor will remain at
|
||||
/// the position following the container.
|
||||
///
|
||||
|
||||
ZString getTokenExclude(std::string exclude);
|
||||
ZString getContainer();
|
||||
|
||||
///
|
||||
/// If the cursor is over a container character then a call to this method
|
||||
/// will return the contents of the container. The cursor will remain at
|
||||
/// the position following the container.
|
||||
///
|
||||
///
|
||||
/// Use the [] operator to retrieve values delimited by the split method.
|
||||
///
|
||||
|
||||
ZString getContainer();
|
||||
ZString &operator[](int index);
|
||||
|
||||
///
|
||||
/// Use the [] operator to retrieve values delimited by the split method.
|
||||
///
|
||||
///
|
||||
/// Return true if the ZString cursor is at the end of the data.
|
||||
///
|
||||
|
||||
ZString &operator[](int index);
|
||||
bool eod();
|
||||
|
||||
///
|
||||
/// Return true if the ZString cursor is at the end of the data.
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool eod();
|
||||
bool startsWith(const char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool startsWith(const char *value);
|
||||
bool equals(const char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool equals(const char *value);
|
||||
bool equals(char *value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool equals(char *value);
|
||||
bool equals(ZString &zstring);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool equals(ZString &zstring);
|
||||
bool equals(std::string &string);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// Advance the cursor the length of the provided value if the value at
|
||||
/// the cursor position is equal to the value provided.
|
||||
///
|
||||
|
||||
bool equals(std::string &string);
|
||||
bool ifNext(const char *value);
|
||||
|
||||
///
|
||||
/// Advance the cursor the length of the provided value if the value at
|
||||
/// the cursor position is equal to the value provided.
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool ifNext(const char *value);
|
||||
bool ifNext(ZString &value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
bool ifNext(ZString &value);
|
||||
int ifEqualsCount(ZString &comparator);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// Advance the cursor through the ZString for each whitespace character
|
||||
/// encountered.
|
||||
///
|
||||
|
||||
int ifEqualsCount(ZString &comparator);
|
||||
int skipWhitespace();
|
||||
|
||||
///
|
||||
/// Advance the cursor through the ZString for each whitespace character
|
||||
/// encountered.
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
int skipWhitespace();
|
||||
ZString goeol();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// Return a block of data as a ZString from the cursor location for
|
||||
/// the number of bytes specified by size.
|
||||
///
|
||||
|
||||
ZString goeol();
|
||||
ZString readBlock(size_t size);
|
||||
|
||||
///
|
||||
/// Return a block of data as a ZString from the cursor location for
|
||||
/// the number of bytes specified by size.
|
||||
///
|
||||
///
|
||||
/// Return a pointer to the beginning of the ZString data.
|
||||
///
|
||||
|
||||
ZString readBlock(size_t size);
|
||||
char *getData();
|
||||
|
||||
///
|
||||
/// Return a pointer to the beginning of the ZString data.
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
char* getData();
|
||||
char *getCursor();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
char* getCursor();
|
||||
void setCursor(char *cursor);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// Return the length of the ZString.
|
||||
///
|
||||
|
||||
void setCursor(char *cursor);
|
||||
size_t getLength();
|
||||
|
||||
///
|
||||
/// Return the length of the ZString.
|
||||
///
|
||||
///
|
||||
/// Set this ZString to have the same data space as the ZString pointer
|
||||
/// passed into the method.
|
||||
///
|
||||
|
||||
size_t getLength();
|
||||
void setZString(ZString zstring);
|
||||
|
||||
///
|
||||
/// Set this ZString to have the same data space as the ZString pointer
|
||||
/// passed into the method.
|
||||
///
|
||||
///
|
||||
/// Use the parsed method to return a ZString that represents the portion
|
||||
/// ZString that has been parsed. The returned ZString represents the
|
||||
/// portion of the ZString from the data pointer to the cursor.
|
||||
///
|
||||
|
||||
void setZString(ZString zstring);
|
||||
ZString parsed();
|
||||
|
||||
///
|
||||
/// Use the parsed method to return a ZString that represents the portion
|
||||
/// ZString that has been parsed. The returned ZString represents the
|
||||
/// portion of the ZString from the data pointer to the cursor.
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString parsed();
|
||||
ZString unparsed();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
ZString unparsed();
|
||||
void reset();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
void reset();
|
||||
char charAt(int index);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
char charAt(int index);
|
||||
bool ifCRLF();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
void nextChar();
|
||||
|
||||
bool ifCRLF();
|
||||
protected:
|
||||
char *data;
|
||||
char *cursor;
|
||||
size_t length;
|
||||
char *cdata = NULL;
|
||||
std::vector<ZString> list;
|
||||
|
||||
void nextChar();
|
||||
|
||||
protected:
|
||||
char *data;
|
||||
char *cursor;
|
||||
size_t length;
|
||||
char *cdata = NULL;
|
||||
std::vector<ZString> list;
|
||||
|
||||
private:
|
||||
std::stack<char *> stack;
|
||||
bool isCharacter(char ch, const char *string);
|
||||
|
||||
};
|
||||
private:
|
||||
std::stack<char *> stack;
|
||||
bool isCharacter(char ch, const char *string);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
@ -1 +1 @@
|
||||
{"requests":[{"kind":"cache","version":2},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1}]}
|
||||
{"requests":[{"kind":"cache","version":2},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1},{"kind":"cmakeFiles","version":1}]}
|
366
build/CMakeCache.txt
Normal file
366
build/CMakeCache.txt
Normal file
@ -0,0 +1,366 @@
|
||||
# This is the CMakeCache file.
|
||||
# For build in directory: /home/matt/Zephora/CoreUtils/build
|
||||
# It was generated by CMake: /usr/bin/cmake
|
||||
# You can edit this file to change values found and used by cmake.
|
||||
# If you do not want to change any of the values, simply exit the editor.
|
||||
# If you do want to change a value, simply edit, save, and exit the editor.
|
||||
# The syntax for the file is as follows:
|
||||
# KEY:TYPE=VALUE
|
||||
# KEY is the name of a variable in the cache.
|
||||
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
|
||||
# VALUE is the current value for the KEY.
|
||||
|
||||
########################
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_AR:FILEPATH=/usr/bin/ar
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_BUILD_TYPE:STRING=Debug
|
||||
|
||||
//Enable/Disable color output during build.
|
||||
CMAKE_COLOR_MAKEFILE:BOOL=ON
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11
|
||||
|
||||
//Flags used by the CXX compiler during all build types.
|
||||
CMAKE_CXX_FLAGS:STRING=
|
||||
|
||||
//Flags used by the CXX compiler during DEBUG builds.
|
||||
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
|
||||
|
||||
//Flags used by the CXX compiler during MINSIZEREL builds.
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELEASE builds.
|
||||
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11
|
||||
|
||||
//Flags used by the C compiler during all build types.
|
||||
CMAKE_C_FLAGS:STRING=
|
||||
|
||||
//Flags used by the C compiler during DEBUG builds.
|
||||
CMAKE_C_FLAGS_DEBUG:STRING=-g
|
||||
|
||||
//Flags used by the C compiler during MINSIZEREL builds.
|
||||
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELEASE builds.
|
||||
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
|
||||
|
||||
//Flags used by the linker during all build types.
|
||||
CMAKE_EXE_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during DEBUG builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during MINSIZEREL builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during RELEASE builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during RELWITHDEBINFO builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE
|
||||
|
||||
//Install path prefix, prepended onto install directories.
|
||||
CMAKE_INSTALL_PREFIX:PATH=/usr/local
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_LINKER:FILEPATH=/usr/bin/ld
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// all build types.
|
||||
CMAKE_MODULE_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// DEBUG builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// MINSIZEREL builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELEASE builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELWITHDEBINFO builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_NM:FILEPATH=/usr/bin/nm
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_DESCRIPTION:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_NAME:STATIC=CoreUtils
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_READELF:FILEPATH=/usr/bin/readelf
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during all build types.
|
||||
CMAKE_SHARED_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//If set, runtime paths are not added when installing shared libraries,
|
||||
// but are added when building.
|
||||
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
|
||||
|
||||
//If set, runtime paths are not added when using shared libraries.
|
||||
CMAKE_SKIP_RPATH:BOOL=NO
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during all build types.
|
||||
CMAKE_STATIC_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_STRIP:FILEPATH=/usr/bin/strip
|
||||
|
||||
//If this value is on, makefiles will be generated without the
|
||||
// .SILENT directive, and all commands will be echoed to the console
|
||||
// during the make. This is useful for debugging only. With Visual
|
||||
// Studio IDE projects all commands are done without /nologo.
|
||||
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||
|
||||
//Value Computed by CMake
|
||||
CoreUtils_BINARY_DIR:STATIC=/home/matt/Zephora/CoreUtils/build
|
||||
|
||||
//Value Computed by CMake
|
||||
CoreUtils_IS_TOP_LEVEL:STATIC=ON
|
||||
|
||||
//Value Computed by CMake
|
||||
CoreUtils_SOURCE_DIR:STATIC=/home/matt/Zephora/CoreUtils
|
||||
|
||||
|
||||
########################
|
||||
# INTERNAL cache entries
|
||||
########################
|
||||
|
||||
//ADVANCED property for variable: CMAKE_ADDR2LINE
|
||||
CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_AR
|
||||
CMAKE_AR-ADVANCED:INTERNAL=1
|
||||
//This is the directory where this CMakeCache.txt was created
|
||||
CMAKE_CACHEFILE_DIR:INTERNAL=/home/matt/Zephora/CoreUtils/build
|
||||
//Major version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
|
||||
//Minor version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=22
|
||||
//Patch version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
|
||||
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//Path to CMake executable.
|
||||
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
|
||||
//Path to cpack program executable.
|
||||
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
|
||||
//Path to ctest program executable.
|
||||
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER
|
||||
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
|
||||
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
|
||||
CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER
|
||||
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER_AR
|
||||
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
|
||||
CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS
|
||||
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
|
||||
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
|
||||
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_DLLTOOL
|
||||
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
|
||||
//Executable file format
|
||||
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//Name of external makefile project generator.
|
||||
CMAKE_EXTRA_GENERATOR:INTERNAL=
|
||||
//Name of generator.
|
||||
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
|
||||
//Generator instance identifier.
|
||||
CMAKE_GENERATOR_INSTANCE:INTERNAL=
|
||||
//Name of generator platform.
|
||||
CMAKE_GENERATOR_PLATFORM:INTERNAL=
|
||||
//Name of generator toolset.
|
||||
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
||||
//Source directory with the top level CMakeLists.txt file for this
|
||||
// project
|
||||
CMAKE_HOME_DIRECTORY:INTERNAL=/home/matt/Zephora/CoreUtils
|
||||
//Install .so files without execute permission.
|
||||
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_LINKER
|
||||
CMAKE_LINKER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
|
||||
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
|
||||
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_NM
|
||||
CMAKE_NM-ADVANCED:INTERNAL=1
|
||||
//number of local generators
|
||||
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_OBJCOPY
|
||||
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_OBJDUMP
|
||||
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
|
||||
//Platform information initialized
|
||||
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RANLIB
|
||||
CMAKE_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_READELF
|
||||
CMAKE_READELF-ADVANCED:INTERNAL=1
|
||||
//Path to CMake installation.
|
||||
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.22
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
|
||||
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_RPATH
|
||||
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
|
||||
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STRIP
|
||||
CMAKE_STRIP-ADVANCED:INTERNAL=1
|
||||
//uname command
|
||||
CMAKE_UNAME:INTERNAL=/usr/bin/uname
|
||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
|
72
build/CMakeFiles/3.22.1/CMakeCCompiler.cmake
Normal file
72
build/CMakeFiles/3.22.1/CMakeCCompiler.cmake
Normal file
@ -0,0 +1,72 @@
|
||||
set(CMAKE_C_COMPILER "/usr/bin/gcc")
|
||||
set(CMAKE_C_COMPILER_ARG1 "")
|
||||
set(CMAKE_C_COMPILER_ID "GNU")
|
||||
set(CMAKE_C_COMPILER_VERSION "11.3.0")
|
||||
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_C_COMPILER_WRAPPER "")
|
||||
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
|
||||
set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON")
|
||||
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23")
|
||||
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
|
||||
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
|
||||
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
|
||||
set(CMAKE_C17_COMPILE_FEATURES "c_std_17")
|
||||
set(CMAKE_C23_COMPILE_FEATURES "c_std_23")
|
||||
|
||||
set(CMAKE_C_PLATFORM_ID "Linux")
|
||||
set(CMAKE_C_SIMULATE_ID "")
|
||||
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
|
||||
set(CMAKE_C_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-11")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_COMPILER_IS_GNUCC 1)
|
||||
set(CMAKE_C_COMPILER_LOADED 1)
|
||||
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_C_ABI_COMPILED TRUE)
|
||||
|
||||
set(CMAKE_C_COMPILER_ENV_VAR "CC")
|
||||
|
||||
set(CMAKE_C_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
|
||||
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_C_LINKER_PREFERENCE 10)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_C_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_C_COMPILER_ABI "ELF")
|
||||
set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
|
||||
set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||
|
||||
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
|
||||
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
|
||||
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
|
||||
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
83
build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake
Normal file
83
build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake
Normal file
@ -0,0 +1,83 @@
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/g++")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "GNU")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "11.3.0")
|
||||
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17")
|
||||
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
|
||||
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23")
|
||||
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
|
||||
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_ID "Linux")
|
||||
set(CMAKE_CXX_SIMULATE_ID "")
|
||||
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-11")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_COMPILER_IS_GNUCXX 1)
|
||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
|
||||
foreach (lang C OBJC OBJCXX)
|
||||
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
||||
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
|
||||
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_CXX_COMPILER_ABI "ELF")
|
||||
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
|
||||
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||
|
||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/11;/usr/include/x86_64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
BIN
build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin
Executable file
BIN
build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin
Executable file
Binary file not shown.
BIN
build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin
Executable file
BIN
build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin
Executable file
Binary file not shown.
15
build/CMakeFiles/3.22.1/CMakeSystem.cmake
Normal file
15
build/CMakeFiles/3.22.1/CMakeSystem.cmake
Normal file
@ -0,0 +1,15 @@
|
||||
set(CMAKE_HOST_SYSTEM "Linux-5.15.0-73-generic")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "5.15.0-73-generic")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM "Linux-5.15.0-73-generic")
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_SYSTEM_VERSION "5.15.0-73-generic")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
803
build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c
Normal file
803
build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c
Normal file
@ -0,0 +1,803 @@
|
||||
#ifdef __cplusplus
|
||||
# error "A C++ compiler has been selected for C."
|
||||
#endif
|
||||
|
||||
#if defined(__18CXX)
|
||||
# define ID_VOID_MAIN
|
||||
#endif
|
||||
#if defined(__CLASSIC_C__)
|
||||
/* cv-qualifiers did not exist in K&R C */
|
||||
# define const
|
||||
# define volatile
|
||||
#endif
|
||||
|
||||
#if !defined(__has_include)
|
||||
/* If the compiler does not have __has_include, pretend the answer is
|
||||
always no. */
|
||||
# define __has_include(x) 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
|
||||
except that a few beta releases use the old format with V=2021. */
|
||||
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
|
||||
/* The third version component from --version is an update index,
|
||||
but no macro is provided for it. */
|
||||
# define COMPILER_VERSION_PATCH DEC(0)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
|
||||
# define COMPILER_ID "IntelLLVM"
|
||||
#if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
#endif
|
||||
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
|
||||
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
|
||||
* VVVV is no smaller than the current year when a version is released.
|
||||
*/
|
||||
#if __INTEL_LLVM_COMPILER < 1000000L
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
|
||||
#else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
|
||||
#endif
|
||||
#if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
#elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
#endif
|
||||
#if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
#endif
|
||||
#if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_C)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_C >= 0x5100
|
||||
/* __SUNPRO_C = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_cc)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_cc = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
|
||||
|
||||
#elif defined(__DECC)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECC_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
|
||||
|
||||
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__NVCOMPILER)
|
||||
# define COMPILER_ID "NVHPC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
|
||||
# if defined(__NVCOMPILER_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__CLANG_FUJITSU)
|
||||
# define COMPILER_ID "FujitsuClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__FUJITSU)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
# if defined(__FCC_version__)
|
||||
# define COMPILER_VERSION __FCC_version__
|
||||
# elif defined(__FCC_major__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# endif
|
||||
# if defined(__fcc_version)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
|
||||
# elif defined(__FCC_VERSION)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
|
||||
# endif
|
||||
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__TINYC__)
|
||||
# define COMPILER_ID "TinyCC"
|
||||
|
||||
#elif defined(__BCC__)
|
||||
# define COMPILER_ID "Bruce"
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
|
||||
# define COMPILER_ID "SDCC"
|
||||
# if defined(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
|
||||
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
|
||||
# else
|
||||
/* SDCC = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__MSYS__)
|
||||
# define PLATFORM_ID "MSYS"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_ARM64EC)
|
||||
# define ARCHITECTURE_ID "ARM64EC"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__ICCSTM8__)
|
||||
# define ARCHITECTURE_ID "STM8"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# if defined(__TI_ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__MSP430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__TMS320C28XX__)
|
||||
# define ARCHITECTURE_ID "TMS320C28x"
|
||||
|
||||
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
|
||||
# define ARCHITECTURE_ID "TMS320C6x"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number. */
|
||||
#ifdef COMPILER_VERSION
|
||||
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#elif defined(COMPILER_VERSION_MAJOR)
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#elif defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
#if !defined(__STDC__) && !defined(__clang__)
|
||||
# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__)
|
||||
# define C_VERSION "90"
|
||||
# else
|
||||
# define C_VERSION
|
||||
# endif
|
||||
#elif __STDC_VERSION__ > 201710L
|
||||
# define C_VERSION "23"
|
||||
#elif __STDC_VERSION__ >= 201710L
|
||||
# define C_VERSION "17"
|
||||
#elif __STDC_VERSION__ >= 201000L
|
||||
# define C_VERSION "11"
|
||||
#elif __STDC_VERSION__ >= 199901L
|
||||
# define C_VERSION "99"
|
||||
#else
|
||||
# define C_VERSION "90"
|
||||
#endif
|
||||
const char* info_language_standard_default =
|
||||
"INFO" ":" "standard_default[" C_VERSION "]";
|
||||
|
||||
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
|
||||
/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */
|
||||
#if (defined(__clang__) || defined(__GNUC__) || \
|
||||
defined(__TI_COMPILER_VERSION__)) && \
|
||||
!defined(__STRICT_ANSI__) && !defined(_MSC_VER)
|
||||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
#ifdef ID_VOID_MAIN
|
||||
void main() {}
|
||||
#else
|
||||
# if defined(__CLASSIC_C__)
|
||||
int main(argc, argv) int argc; char *argv[];
|
||||
# else
|
||||
int main(int argc, char* argv[])
|
||||
# endif
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_standard_default[argc];
|
||||
require += info_language_extensions_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
#endif
|
BIN
build/CMakeFiles/3.22.1/CompilerIdC/a.out
Executable file
BIN
build/CMakeFiles/3.22.1/CompilerIdC/a.out
Executable file
Binary file not shown.
791
build/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp
Normal file
791
build/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp
Normal file
@ -0,0 +1,791 @@
|
||||
/* This source file must have a .cpp extension so that all C++ compilers
|
||||
recognize the extension without flags. Borland does not know .cxx for
|
||||
example. */
|
||||
#ifndef __cplusplus
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
#if !defined(__has_include)
|
||||
/* If the compiler does not have __has_include, pretend the answer is
|
||||
always no. */
|
||||
# define __has_include(x) 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__COMO__)
|
||||
# define COMPILER_ID "Comeau"
|
||||
/* __COMO_VERSION__ = VRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
|
||||
|
||||
#elif defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
|
||||
except that a few beta releases use the old format with V=2021. */
|
||||
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
|
||||
/* The third version component from --version is an update index,
|
||||
but no macro is provided for it. */
|
||||
# define COMPILER_VERSION_PATCH DEC(0)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
|
||||
# define COMPILER_ID "IntelLLVM"
|
||||
#if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
#endif
|
||||
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
|
||||
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
|
||||
* VVVV is no smaller than the current year when a version is released.
|
||||
*/
|
||||
#if __INTEL_LLVM_COMPILER < 1000000L
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
|
||||
#else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
|
||||
#endif
|
||||
#if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
#elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
#endif
|
||||
#if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
#endif
|
||||
#if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_CC >= 0x5100
|
||||
/* __SUNPRO_CC = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_aCC = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||
|
||||
#elif defined(__DECCXX)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECCXX_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__NVCOMPILER)
|
||||
# define COMPILER_ID "NVHPC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
|
||||
# if defined(__NVCOMPILER_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__CLANG_FUJITSU)
|
||||
# define COMPILER_ID "FujitsuClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__FUJITSU)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
# if defined(__FCC_version__)
|
||||
# define COMPILER_VERSION __FCC_version__
|
||||
# elif defined(__FCC_major__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# endif
|
||||
# if defined(__fcc_version)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
|
||||
# elif defined(__FCC_VERSION)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
|
||||
# endif
|
||||
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__) || defined(__GNUG__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# if defined(__GNUC__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__MSYS__)
|
||||
# define PLATFORM_ID "MSYS"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_ARM64EC)
|
||||
# define ARCHITECTURE_ID "ARM64EC"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__ICCSTM8__)
|
||||
# define ARCHITECTURE_ID "STM8"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# if defined(__TI_ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__MSP430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__TMS320C28XX__)
|
||||
# define ARCHITECTURE_ID "TMS320C28x"
|
||||
|
||||
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
|
||||
# define ARCHITECTURE_ID "TMS320C6x"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number. */
|
||||
#ifdef COMPILER_VERSION
|
||||
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#elif defined(COMPILER_VERSION_MAJOR)
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#elif defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
|
||||
# if defined(__INTEL_CXX11_MODE__)
|
||||
# if defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD 201402L
|
||||
# else
|
||||
# define CXX_STD 201103L
|
||||
# endif
|
||||
# else
|
||||
# define CXX_STD 199711L
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
|
||||
# define CXX_STD _MSVC_LANG
|
||||
#else
|
||||
# define CXX_STD __cplusplus
|
||||
#endif
|
||||
|
||||
const char* info_language_standard_default = "INFO" ":" "standard_default["
|
||||
#if CXX_STD > 202002L
|
||||
"23"
|
||||
#elif CXX_STD > 201703L
|
||||
"20"
|
||||
#elif CXX_STD >= 201703L
|
||||
"17"
|
||||
#elif CXX_STD >= 201402L
|
||||
"14"
|
||||
#elif CXX_STD >= 201103L
|
||||
"11"
|
||||
#else
|
||||
"98"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
|
||||
/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */
|
||||
#if (defined(__clang__) || defined(__GNUC__) || \
|
||||
defined(__TI_COMPILER_VERSION__)) && \
|
||||
!defined(__STRICT_ANSI__) && !defined(_MSC_VER)
|
||||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_standard_default[argc];
|
||||
require += info_language_extensions_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
BIN
build/CMakeFiles/3.22.1/CompilerIdCXX/a.out
Executable file
BIN
build/CMakeFiles/3.22.1/CompilerIdCXX/a.out
Executable file
Binary file not shown.
@ -427,3 +427,454 @@ Parsed CXX implicit link information from above output:
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
The system is: Linux - 5.15.0-73-generic - x86_64
|
||||
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
|
||||
Compiler: /usr/bin/gcc
|
||||
Build flags:
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
|
||||
|
||||
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
|
||||
|
||||
The C compiler identification is GNU, found in "/home/matt/Zephora/CoreUtils/build/CMakeFiles/3.22.1/CompilerIdC/a.out"
|
||||
|
||||
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
|
||||
Compiler: /usr/bin/g++
|
||||
Build flags:
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
|
||||
|
||||
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
|
||||
|
||||
The CXX compiler identification is GNU, found in "/home/matt/Zephora/CoreUtils/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out"
|
||||
|
||||
Detecting C compiler ABI info compiled with the following output:
|
||||
Change Dir: /home/matt/Zephora/CoreUtils/build/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_ebe2d/fast && /usr/bin/gmake -f CMakeFiles/cmTC_ebe2d.dir/build.make CMakeFiles/cmTC_ebe2d.dir/build
|
||||
gmake[1]: Entering directory '/home/matt/Zephora/CoreUtils/build/CMakeFiles/CMakeTmp'
|
||||
Building C object CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o
|
||||
/usr/bin/gcc -v -o CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/gcc
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-linux-gnu
|
||||
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.3.0-1ubuntu1~22.04.1' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04.1)
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_ebe2d.dir/'
|
||||
/usr/lib/gcc/x86_64-linux-gnu/11/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_ebe2d.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccRPjtFU.s
|
||||
GNU C17 (Ubuntu 11.3.0-1ubuntu1~22.04.1) version 11.3.0 (x86_64-linux-gnu)
|
||||
compiled by GNU C version 11.3.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
/usr/lib/gcc/x86_64-linux-gnu/11/include
|
||||
/usr/local/include
|
||||
/usr/include/x86_64-linux-gnu
|
||||
/usr/include
|
||||
End of search list.
|
||||
GNU C17 (Ubuntu 11.3.0-1ubuntu1~22.04.1) version 11.3.0 (x86_64-linux-gnu)
|
||||
compiled by GNU C version 11.3.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
Compiler executable checksum: e13e2dc98bfa673227c4000e476a9388
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_ebe2d.dir/'
|
||||
as -v --64 -o CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o /tmp/ccRPjtFU.s
|
||||
GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38
|
||||
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.'
|
||||
Linking C executable cmTC_ebe2d
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ebe2d.dir/link.txt --verbose=1
|
||||
/usr/bin/gcc -v -rdynamic CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o -o cmTC_ebe2d
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/gcc
|
||||
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-linux-gnu
|
||||
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.3.0-1ubuntu1~22.04.1' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04.1)
|
||||
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_ebe2d' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_ebe2d.'
|
||||
/usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccLWbkm0.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_ebe2d /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o
|
||||
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_ebe2d' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_ebe2d.'
|
||||
gmake[1]: Leaving directory '/home/matt/Zephora/CoreUtils/build/CMakeFiles/CMakeTmp'
|
||||
|
||||
|
||||
|
||||
Parsed C implicit include dir info from above output: rv=done
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [/usr/lib/gcc/x86_64-linux-gnu/11/include]
|
||||
add: [/usr/local/include]
|
||||
add: [/usr/include/x86_64-linux-gnu]
|
||||
add: [/usr/include]
|
||||
end of search list found
|
||||
collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/11/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/11/include]
|
||||
collapse include dir [/usr/local/include] ==> [/usr/local/include]
|
||||
collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
|
||||
collapse include dir [/usr/include] ==> [/usr/include]
|
||||
implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
|
||||
|
||||
|
||||
Parsed C implicit link information from above output:
|
||||
link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
|
||||
ignore line: [Change Dir: /home/matt/Zephora/CoreUtils/build/CMakeFiles/CMakeTmp]
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_ebe2d/fast && /usr/bin/gmake -f CMakeFiles/cmTC_ebe2d.dir/build.make CMakeFiles/cmTC_ebe2d.dir/build]
|
||||
ignore line: [gmake[1]: Entering directory '/home/matt/Zephora/CoreUtils/build/CMakeFiles/CMakeTmp']
|
||||
ignore line: [Building C object CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o]
|
||||
ignore line: [/usr/bin/gcc -v -o CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/gcc]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-linux-gnu]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.3.0-1ubuntu1~22.04.1' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04.1) ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_ebe2d.dir/']
|
||||
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_ebe2d.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccRPjtFU.s]
|
||||
ignore line: [GNU C17 (Ubuntu 11.3.0-1ubuntu1~22.04.1) version 11.3.0 (x86_64-linux-gnu)]
|
||||
ignore line: [ compiled by GNU C version 11.3.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/include]
|
||||
ignore line: [ /usr/local/include]
|
||||
ignore line: [ /usr/include/x86_64-linux-gnu]
|
||||
ignore line: [ /usr/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [GNU C17 (Ubuntu 11.3.0-1ubuntu1~22.04.1) version 11.3.0 (x86_64-linux-gnu)]
|
||||
ignore line: [ compiled by GNU C version 11.3.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [Compiler executable checksum: e13e2dc98bfa673227c4000e476a9388]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_ebe2d.dir/']
|
||||
ignore line: [ as -v --64 -o CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o /tmp/ccRPjtFU.s]
|
||||
ignore line: [GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38]
|
||||
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.']
|
||||
ignore line: [Linking C executable cmTC_ebe2d]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ebe2d.dir/link.txt --verbose=1]
|
||||
ignore line: [/usr/bin/gcc -v -rdynamic CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o -o cmTC_ebe2d ]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/gcc]
|
||||
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-linux-gnu]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.3.0-1ubuntu1~22.04.1' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04.1) ]
|
||||
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_ebe2d' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_ebe2d.']
|
||||
link line: [ /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccLWbkm0.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_ebe2d /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/collect2] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so] ==> ignore
|
||||
arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/ccLWbkm0.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [--build-id] ==> ignore
|
||||
arg [--eh-frame-hdr] ==> ignore
|
||||
arg [-m] ==> ignore
|
||||
arg [elf_x86_64] ==> ignore
|
||||
arg [--hash-style=gnu] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-export-dynamic] ==> ignore
|
||||
arg [-dynamic-linker] ==> ignore
|
||||
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||
arg [-pie] ==> ignore
|
||||
arg [-znow] ==> ignore
|
||||
arg [-zrelro] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_ebe2d] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/11] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib]
|
||||
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
|
||||
arg [-L/lib/../lib] ==> dir [/lib/../lib]
|
||||
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
|
||||
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..]
|
||||
arg [CMakeFiles/cmTC_ebe2d.dir/CMakeCCompilerABI.c.o] ==> ignore
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [--push-state] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [--pop-state] ==> ignore
|
||||
arg [-lc] ==> lib [c]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [--push-state] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [--pop-state] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11] ==> [/usr/lib/gcc/x86_64-linux-gnu/11]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> [/usr/lib]
|
||||
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/lib/../lib] ==> [/lib]
|
||||
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> [/usr/lib]
|
||||
implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
|
||||
implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o]
|
||||
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
Detecting CXX compiler ABI info compiled with the following output:
|
||||
Change Dir: /home/matt/Zephora/CoreUtils/build/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_46e72/fast && /usr/bin/gmake -f CMakeFiles/cmTC_46e72.dir/build.make CMakeFiles/cmTC_46e72.dir/build
|
||||
gmake[1]: Entering directory '/home/matt/Zephora/CoreUtils/build/CMakeFiles/CMakeTmp'
|
||||
Building CXX object CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o
|
||||
/usr/bin/g++ -v -o CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/g++
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-linux-gnu
|
||||
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.3.0-1ubuntu1~22.04.1' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04.1)
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_46e72.dir/'
|
||||
/usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_46e72.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccYhBcpe.s
|
||||
GNU C++17 (Ubuntu 11.3.0-1ubuntu1~22.04.1) version 11.3.0 (x86_64-linux-gnu)
|
||||
compiled by GNU C version 11.3.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/11"
|
||||
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
/usr/include/c++/11
|
||||
/usr/include/x86_64-linux-gnu/c++/11
|
||||
/usr/include/c++/11/backward
|
||||
/usr/lib/gcc/x86_64-linux-gnu/11/include
|
||||
/usr/local/include
|
||||
/usr/include/x86_64-linux-gnu
|
||||
/usr/include
|
||||
End of search list.
|
||||
GNU C++17 (Ubuntu 11.3.0-1ubuntu1~22.04.1) version 11.3.0 (x86_64-linux-gnu)
|
||||
compiled by GNU C version 11.3.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
Compiler executable checksum: 2b9b53ff7f3a6952e2fe60119c16be53
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_46e72.dir/'
|
||||
as -v --64 -o CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccYhBcpe.s
|
||||
GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38
|
||||
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.'
|
||||
Linking CXX executable cmTC_46e72
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_46e72.dir/link.txt --verbose=1
|
||||
/usr/bin/g++ -v -rdynamic CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_46e72
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/g++
|
||||
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-linux-gnu
|
||||
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.3.0-1ubuntu1~22.04.1' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04.1)
|
||||
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_46e72' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_46e72.'
|
||||
/usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccFmvZz5.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_46e72 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o
|
||||
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_46e72' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_46e72.'
|
||||
gmake[1]: Leaving directory '/home/matt/Zephora/CoreUtils/build/CMakeFiles/CMakeTmp'
|
||||
|
||||
|
||||
|
||||
Parsed CXX implicit include dir info from above output: rv=done
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [/usr/include/c++/11]
|
||||
add: [/usr/include/x86_64-linux-gnu/c++/11]
|
||||
add: [/usr/include/c++/11/backward]
|
||||
add: [/usr/lib/gcc/x86_64-linux-gnu/11/include]
|
||||
add: [/usr/local/include]
|
||||
add: [/usr/include/x86_64-linux-gnu]
|
||||
add: [/usr/include]
|
||||
end of search list found
|
||||
collapse include dir [/usr/include/c++/11] ==> [/usr/include/c++/11]
|
||||
collapse include dir [/usr/include/x86_64-linux-gnu/c++/11] ==> [/usr/include/x86_64-linux-gnu/c++/11]
|
||||
collapse include dir [/usr/include/c++/11/backward] ==> [/usr/include/c++/11/backward]
|
||||
collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/11/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/11/include]
|
||||
collapse include dir [/usr/local/include] ==> [/usr/local/include]
|
||||
collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
|
||||
collapse include dir [/usr/include] ==> [/usr/include]
|
||||
implicit include dirs: [/usr/include/c++/11;/usr/include/x86_64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
|
||||
|
||||
|
||||
Parsed CXX implicit link information from above output:
|
||||
link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
|
||||
ignore line: [Change Dir: /home/matt/Zephora/CoreUtils/build/CMakeFiles/CMakeTmp]
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_46e72/fast && /usr/bin/gmake -f CMakeFiles/cmTC_46e72.dir/build.make CMakeFiles/cmTC_46e72.dir/build]
|
||||
ignore line: [gmake[1]: Entering directory '/home/matt/Zephora/CoreUtils/build/CMakeFiles/CMakeTmp']
|
||||
ignore line: [Building CXX object CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o]
|
||||
ignore line: [/usr/bin/g++ -v -o CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/g++]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-linux-gnu]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.3.0-1ubuntu1~22.04.1' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04.1) ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_46e72.dir/']
|
||||
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_46e72.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccYhBcpe.s]
|
||||
ignore line: [GNU C++17 (Ubuntu 11.3.0-1ubuntu1~22.04.1) version 11.3.0 (x86_64-linux-gnu)]
|
||||
ignore line: [ compiled by GNU C version 11.3.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/11"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ /usr/include/c++/11]
|
||||
ignore line: [ /usr/include/x86_64-linux-gnu/c++/11]
|
||||
ignore line: [ /usr/include/c++/11/backward]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/include]
|
||||
ignore line: [ /usr/local/include]
|
||||
ignore line: [ /usr/include/x86_64-linux-gnu]
|
||||
ignore line: [ /usr/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [GNU C++17 (Ubuntu 11.3.0-1ubuntu1~22.04.1) version 11.3.0 (x86_64-linux-gnu)]
|
||||
ignore line: [ compiled by GNU C version 11.3.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [Compiler executable checksum: 2b9b53ff7f3a6952e2fe60119c16be53]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_46e72.dir/']
|
||||
ignore line: [ as -v --64 -o CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccYhBcpe.s]
|
||||
ignore line: [GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38]
|
||||
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.']
|
||||
ignore line: [Linking CXX executable cmTC_46e72]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_46e72.dir/link.txt --verbose=1]
|
||||
ignore line: [/usr/bin/g++ -v -rdynamic CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_46e72 ]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/g++]
|
||||
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-linux-gnu]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.3.0-1ubuntu1~22.04.1' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-aYxV0E/gcc-11-11.3.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04.1) ]
|
||||
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_46e72' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_46e72.']
|
||||
link line: [ /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccFmvZz5.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_46e72 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/collect2] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so] ==> ignore
|
||||
arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/ccFmvZz5.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [--build-id] ==> ignore
|
||||
arg [--eh-frame-hdr] ==> ignore
|
||||
arg [-m] ==> ignore
|
||||
arg [elf_x86_64] ==> ignore
|
||||
arg [--hash-style=gnu] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-export-dynamic] ==> ignore
|
||||
arg [-dynamic-linker] ==> ignore
|
||||
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||
arg [-pie] ==> ignore
|
||||
arg [-znow] ==> ignore
|
||||
arg [-zrelro] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_46e72] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/11] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib]
|
||||
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
|
||||
arg [-L/lib/../lib] ==> dir [/lib/../lib]
|
||||
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
|
||||
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..]
|
||||
arg [CMakeFiles/cmTC_46e72.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
|
||||
arg [-lstdc++] ==> lib [stdc++]
|
||||
arg [-lm] ==> lib [m]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [-lc] ==> lib [c]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11] ==> [/usr/lib/gcc/x86_64-linux-gnu/11]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> [/usr/lib]
|
||||
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/lib/../lib] ==> [/lib]
|
||||
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> [/usr/lib]
|
||||
implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
|
||||
implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o]
|
||||
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
@ -12,6 +12,11 @@ int main(int argc, char **argv) {
|
||||
coreutils::MString test2("this is another test.");
|
||||
std::cout << "assign on constructor: [" << test2 << "]." << std::endl;
|
||||
|
||||
coreutils::MString xtest;
|
||||
coreutils::MString ytest("this is a test");
|
||||
xtest = ytest;
|
||||
std::cout << "assign mstring to mstring: " << xtest << std::endl;
|
||||
|
||||
// Character assignment tests.
|
||||
coreutils::MString test3;
|
||||
test3 = 'a';
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user