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;
|
||||
}
|
||||
|
||||
AssignmentPhrase::~AssignmentPhrase()
|
||||
{
|
||||
if (data)
|
||||
delete data;
|
||||
}
|
||||
|
||||
//AssignmentPhrase::AssignmentPhrase(AssignmentPhrase *l, const AssignmentPhrase *r)
|
||||
//{
|
||||
//// data = new PhraseData(l->data, PhraseData::Append, r->data);
|
||||
// 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)
|
||||
|
|
@ -245,10 +256,10 @@ AssignmentPhraseList::AssignmentPhraseList(AssignmentPhraseList *l, const Assign
|
|||
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(r->data);
|
||||
data.append(l.data);
|
||||
data.append(r.data);
|
||||
}
|
||||
|
||||
AssignmentPhraseList AssignmentPhraseList::operator &(const AssignmentPhrase &ph)
|
||||
|
|
@ -256,6 +267,11 @@ AssignmentPhraseList AssignmentPhraseList::operator &(const AssignmentPhrase &ph
|
|||
return AssignmentPhraseList(this, &ph);
|
||||
}
|
||||
|
||||
AssignmentPhraseList::~AssignmentPhraseList()
|
||||
{
|
||||
qDeleteAll(data);
|
||||
}
|
||||
|
||||
ConditionalPhrase::ConditionalPhrase() : data(0)
|
||||
{ }
|
||||
|
||||
|
|
@ -374,4 +390,27 @@ ConditionalPhrase ConditionalPhrase::operator !()
|
|||
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
|
||||
|
|
|
|||
12
src/phrase.h
12
src/phrase.h
|
|
@ -115,11 +115,15 @@ class AssignmentPhraseList
|
|||
{
|
||||
public:
|
||||
QList<PhraseData*> data;
|
||||
AssignmentPhraseList();
|
||||
AssignmentPhraseList(const AssignmentPhrase &l);
|
||||
AssignmentPhraseList(AssignmentPhraseList *l, const AssignmentPhrase *r);
|
||||
AssignmentPhraseList(AssignmentPhrase *l, const AssignmentPhrase *r);
|
||||
AssignmentPhraseList(const AssignmentPhrase &r, const AssignmentPhrase &l);
|
||||
|
||||
AssignmentPhraseList operator &(const AssignmentPhrase &ph);
|
||||
|
||||
~AssignmentPhraseList();
|
||||
};
|
||||
|
||||
class AssignmentPhrase
|
||||
|
|
@ -128,12 +132,18 @@ public:
|
|||
PhraseData *data;
|
||||
AssignmentPhrase(AbstractFieldPhrase *l, QVariant r);
|
||||
AssignmentPhrase(AbstractFieldPhrase *l, const AssignmentPhrase *r);
|
||||
~AssignmentPhrase();
|
||||
// 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{
|
||||
public:
|
||||
bool isValid;
|
||||
|
|
|
|||
Loading…
Reference in New Issue