phrase better operators [skip ci]
This commit is contained in:
parent
d0f73c1673
commit
e049a4409a
|
|
@ -223,15 +223,26 @@ AssignmentPhrase::AssignmentPhrase(AbstractFieldPhrase *l, const AssignmentPhras
|
||||||
// l->data = 0;
|
// l->data = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AssignmentPhrase::~AssignmentPhrase()
|
||||||
|
{
|
||||||
|
if (data)
|
||||||
|
delete data;
|
||||||
|
}
|
||||||
|
|
||||||
//AssignmentPhrase::AssignmentPhrase(AssignmentPhrase *l, const AssignmentPhrase *r)
|
//AssignmentPhrase::AssignmentPhrase(AssignmentPhrase *l, const AssignmentPhrase *r)
|
||||||
//{
|
//{
|
||||||
//// data = new PhraseData(l->data, PhraseData::Append, r->data);
|
//// data = new PhraseData(l->data, PhraseData::Append, r->data);
|
||||||
// qFatal("SS");
|
// qFatal("SS");
|
||||||
//}
|
//}
|
||||||
|
|
||||||
AssignmentPhraseList AssignmentPhrase::operator &(const AssignmentPhrase &other)
|
//AssignmentPhraseList AssignmentPhrase::operator &(const AssignmentPhrase &other)
|
||||||
|
//{
|
||||||
|
// return AssignmentPhraseList(this, &other);
|
||||||
|
//}
|
||||||
|
|
||||||
|
AssignmentPhraseList::AssignmentPhraseList()
|
||||||
{
|
{
|
||||||
return AssignmentPhraseList(this, &other);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
AssignmentPhraseList::AssignmentPhraseList(const AssignmentPhrase &l)
|
AssignmentPhraseList::AssignmentPhraseList(const AssignmentPhrase &l)
|
||||||
|
|
@ -245,10 +256,10 @@ AssignmentPhraseList::AssignmentPhraseList(AssignmentPhraseList *l, const Assign
|
||||||
data.append(r->data);
|
data.append(r->data);
|
||||||
}
|
}
|
||||||
|
|
||||||
AssignmentPhraseList::AssignmentPhraseList(AssignmentPhrase *l, const AssignmentPhrase *r)
|
AssignmentPhraseList::AssignmentPhraseList(const AssignmentPhrase &r, const AssignmentPhrase &l)
|
||||||
{
|
{
|
||||||
data.append(l->data);
|
data.append(l.data);
|
||||||
data.append(r->data);
|
data.append(r.data);
|
||||||
}
|
}
|
||||||
|
|
||||||
AssignmentPhraseList AssignmentPhraseList::operator &(const AssignmentPhrase &ph)
|
AssignmentPhraseList AssignmentPhraseList::operator &(const AssignmentPhrase &ph)
|
||||||
|
|
@ -256,6 +267,11 @@ AssignmentPhraseList AssignmentPhraseList::operator &(const AssignmentPhrase &ph
|
||||||
return AssignmentPhraseList(this, &ph);
|
return AssignmentPhraseList(this, &ph);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AssignmentPhraseList::~AssignmentPhraseList()
|
||||||
|
{
|
||||||
|
qDeleteAll(data);
|
||||||
|
}
|
||||||
|
|
||||||
ConditionalPhrase::ConditionalPhrase() : data(0)
|
ConditionalPhrase::ConditionalPhrase() : data(0)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
|
@ -374,4 +390,27 @@ ConditionalPhrase ConditionalPhrase::operator !()
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AssignmentPhraseList operator &(const AssignmentPhrase &l, const AssignmentPhrase &r)
|
||||||
|
{
|
||||||
|
return AssignmentPhraseList(l, r);
|
||||||
|
}
|
||||||
|
|
||||||
|
AssignmentPhraseList operator &(const AssignmentPhrase &l, AssignmentPhrase &&r)
|
||||||
|
{
|
||||||
|
r.data = 0;
|
||||||
|
return AssignmentPhraseList(l, r);
|
||||||
|
}
|
||||||
|
|
||||||
|
AssignmentPhraseList operator &(AssignmentPhrase &&l, const AssignmentPhrase &r)
|
||||||
|
{
|
||||||
|
l.data = 0;
|
||||||
|
return AssignmentPhraseList(l, r);
|
||||||
|
}
|
||||||
|
|
||||||
|
AssignmentPhraseList operator &(AssignmentPhrase &&l, AssignmentPhrase &&r)
|
||||||
|
{
|
||||||
|
r.data = l.data = 0;
|
||||||
|
return AssignmentPhraseList(l, r);
|
||||||
|
}
|
||||||
|
|
||||||
NUT_END_NAMESPACE
|
NUT_END_NAMESPACE
|
||||||
|
|
|
||||||
12
src/phrase.h
12
src/phrase.h
|
|
@ -115,11 +115,15 @@ class AssignmentPhraseList
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
QList<PhraseData*> data;
|
QList<PhraseData*> data;
|
||||||
|
AssignmentPhraseList();
|
||||||
AssignmentPhraseList(const AssignmentPhrase &l);
|
AssignmentPhraseList(const AssignmentPhrase &l);
|
||||||
AssignmentPhraseList(AssignmentPhraseList *l, const AssignmentPhrase *r);
|
AssignmentPhraseList(AssignmentPhraseList *l, const AssignmentPhrase *r);
|
||||||
AssignmentPhraseList(AssignmentPhrase *l, const AssignmentPhrase *r);
|
AssignmentPhraseList(AssignmentPhrase *l, const AssignmentPhrase *r);
|
||||||
|
AssignmentPhraseList(const AssignmentPhrase &r, const AssignmentPhrase &l);
|
||||||
|
|
||||||
AssignmentPhraseList operator &(const AssignmentPhrase &ph);
|
AssignmentPhraseList operator &(const AssignmentPhrase &ph);
|
||||||
|
|
||||||
|
~AssignmentPhraseList();
|
||||||
};
|
};
|
||||||
|
|
||||||
class AssignmentPhrase
|
class AssignmentPhrase
|
||||||
|
|
@ -128,12 +132,18 @@ public:
|
||||||
PhraseData *data;
|
PhraseData *data;
|
||||||
AssignmentPhrase(AbstractFieldPhrase *l, QVariant r);
|
AssignmentPhrase(AbstractFieldPhrase *l, QVariant r);
|
||||||
AssignmentPhrase(AbstractFieldPhrase *l, const AssignmentPhrase *r);
|
AssignmentPhrase(AbstractFieldPhrase *l, const AssignmentPhrase *r);
|
||||||
|
~AssignmentPhrase();
|
||||||
// AssignmentPhrase(AssignmentPhrase *l, const AssignmentPhrase *r);
|
// AssignmentPhrase(AssignmentPhrase *l, const AssignmentPhrase *r);
|
||||||
|
|
||||||
AssignmentPhraseList operator &(const AssignmentPhrase &other);
|
// AssignmentPhraseList operator &(const AssignmentPhrase &other);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
AssignmentPhraseList operator &(const AssignmentPhrase &l, const AssignmentPhrase &r);
|
||||||
|
AssignmentPhraseList operator &(const AssignmentPhrase &l, AssignmentPhrase &&r);
|
||||||
|
AssignmentPhraseList operator &(AssignmentPhrase &&l, const AssignmentPhrase &r);
|
||||||
|
AssignmentPhraseList operator &(AssignmentPhrase &&l, AssignmentPhrase &&r);
|
||||||
|
|
||||||
class PhraseList{
|
class PhraseList{
|
||||||
public:
|
public:
|
||||||
bool isValid;
|
bool isValid;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue