summaryrefslogtreecommitdiff
path: root/src/core/model/Syntax.cpp
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-03-31 23:39:10 +0200
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2016-04-25 22:19:27 +0200
commit648aa3b32fb75ced3a02bc32900901c4f33fb8be (patch)
treeb32b24bc7c2e6e22cf610e175b8fc506fa73938a /src/core/model/Syntax.cpp
parentd383fef02412829c2d2212a9b486f20bae89eacb (diff)
Add equals and smaller than operator to SyntaxDescriptor (for std::sort or the use in std::set)
Diffstat (limited to 'src/core/model/Syntax.cpp')
-rw-r--r--src/core/model/Syntax.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/core/model/Syntax.cpp b/src/core/model/Syntax.cpp
index a97acf7..0e92ef5 100644
--- a/src/core/model/Syntax.cpp
+++ b/src/core/model/Syntax.cpp
@@ -32,6 +32,22 @@ bool TokenDescriptor::isValid() const
/* Class SyntaxDescriptor */
+bool operator==(const SyntaxDescriptor &o1, const SyntaxDescriptor &o2)
+{
+ return (o1.depth == o2.depth) && (o1.open == o2.open) &&
+ (o1.close == o2.close) && (o1.shortForm == o2.shortForm) &&
+ (o1.descriptor == o2.descriptor);
+}
+
+bool operator<(const SyntaxDescriptor &o1, const SyntaxDescriptor &o2)
+{
+ return (o1.depth < o2.depth) ||
+ (o1.isFieldDescriptor() && !o2.isFieldDescriptor()) ||
+ (o1.open < o2.open) || (o1.close < o2.close) ||
+ (o1.shortForm < o2.shortForm) ||
+ (o1.descriptor.get() < o2.descriptor.get());
+}
+
bool SyntaxDescriptor::isAnnotation() const
{
return descriptor->isa(&RttiTypes::AnnotationClass);