Clang: Inline ProjectPartContainer

Change-Id: I4bd55f6be216b1ac99039e74be853c9634ac2fd6
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
Marco Bubke
2016-07-19 12:43:18 +02:00
committed by Tim Jenssen
parent 12c5ff13d0
commit 85081a67a5
2 changed files with 42 additions and 51 deletions

View File

@@ -27,59 +27,23 @@
#include "clangbackendipcdebugutils.h"
#include <QDataStream>
#include <QDebug>
#include <ostream>
namespace ClangBackEnd {
ProjectPartContainer::ProjectPartContainer(const Utf8String &projectPathId,
const Utf8StringVector &arguments)
: projectPartId_(projectPathId),
arguments_(arguments)
{
}
namespace {
const Utf8String &ProjectPartContainer::projectPartId() const
{
return projectPartId_;
}
const Utf8StringVector &ProjectPartContainer::arguments() const
{
return arguments_;
}
QDataStream &operator<<(QDataStream &out, const ProjectPartContainer &container)
{
out << container.projectPartId_;
out << container.arguments_;
return out;
}
QDataStream &operator>>(QDataStream &in, ProjectPartContainer &container)
{
in >> container.projectPartId_;
in >> container.arguments_;
return in;
}
bool operator==(const ProjectPartContainer &first, const ProjectPartContainer &second)
{
return first.projectPartId_ == second.projectPartId_;
}
static Utf8String quotedArguments(const Utf8StringVector &arguments)
Utf8String quotedArguments(const Utf8StringVector &arguments)
{
const Utf8String quote = Utf8String::fromUtf8("\"");
const Utf8String joined = arguments.join(quote + Utf8String::fromUtf8(" ") + quote);
return quote + joined + quote;
}
}
QDebug operator<<(QDebug debug, const ProjectPartContainer &container)
{
const Utf8String arguments = quotedArguments(container.arguments());

View File

@@ -29,30 +29,57 @@
#include <utf8stringvector.h>
#include <QDataStream>
namespace ClangBackEnd {
class CMBIPC_EXPORT ProjectPartContainer
class ProjectPartContainer
{
friend CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const ProjectPartContainer &container);
friend CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, ProjectPartContainer &container);
friend CMBIPC_EXPORT bool operator==(const ProjectPartContainer &first, const ProjectPartContainer &second);
public:
ProjectPartContainer() = default;
ProjectPartContainer(const Utf8String &projectPartId,
const Utf8StringVector &arguments = Utf8StringVector());
const Utf8StringVector &arguments = Utf8StringVector())
: projectPartId_(projectPartId),
arguments_(arguments)
{
}
const Utf8String &projectPartId() const;
const Utf8StringVector &arguments() const;
const Utf8String &projectPartId() const
{
return projectPartId_;
}
const Utf8StringVector &arguments() const
{
return arguments_;
}
friend QDataStream &operator<<(QDataStream &out, const ProjectPartContainer &container)
{
out << container.projectPartId_;
out << container.arguments_;
return out;
}
friend QDataStream &operator>>(QDataStream &in, ProjectPartContainer &container)
{
in >> container.projectPartId_;
in >> container.arguments_;
return in;
}
friend bool operator==(const ProjectPartContainer &first, const ProjectPartContainer &second)
{
return first.projectPartId_ == second.projectPartId_;
}
private:
Utf8String projectPartId_;
Utf8StringVector arguments_;
};
CMBIPC_EXPORT QDataStream &operator<<(QDataStream &out, const ProjectPartContainer &container);
CMBIPC_EXPORT QDataStream &operator>>(QDataStream &in, ProjectPartContainer &container);
CMBIPC_EXPORT bool operator==(const ProjectPartContainer &first, const ProjectPartContainer &second);
QDebug operator<<(QDebug debug, const ProjectPartContainer &container);
void PrintTo(const ProjectPartContainer &container, ::std::ostream* os);