summaryrefslogtreecommitdiffstats
path: root/src/type-info.cpp
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-03-31 20:41:48 +0000
committerMarkus Engel <markus.engel@tum.de>2013-03-31 20:41:48 +0000
commit2d08d8037d3b7b52fcbd66ef4e65ff432ad2d97d (patch)
tree2be2540bb44c2e18df126e8b0a0f2072a854867b /src/type-info.cpp
parentTurned all functions concerning SPSpiral into member functions. (diff)
downloadinkscape-2d08d8037d3b7b52fcbd66ef4e65ff432ad2d97d.tar.gz
inkscape-2d08d8037d3b7b52fcbd66ef4e65ff432ad2d97d.zip
Added TypeInfo class.
(bzr r11608.1.62)
Diffstat (limited to 'src/type-info.cpp')
-rw-r--r--src/type-info.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/type-info.cpp b/src/type-info.cpp
new file mode 100644
index 000000000..dac61e786
--- /dev/null
+++ b/src/type-info.cpp
@@ -0,0 +1,49 @@
+#include "type-info.h"
+
+
+TypeInfo::TypeInfo(const std::type_info& type_info) : type_info(&type_info) {
+}
+
+TypeInfo::TypeInfo(const TypeInfo& tinfo) : type_info(tinfo.type_info) {
+}
+
+TypeInfo& TypeInfo::operator=(const TypeInfo& rhs) {
+ this->type_info = rhs.type_info;
+ return *this;
+}
+
+bool TypeInfo::before(const TypeInfo& tinfo) const {
+ return this->type_info->before(*tinfo.type_info);
+}
+
+const char* TypeInfo::name() const {
+ return this->type_info->name();
+}
+
+const std::type_info& TypeInfo::get() const {
+ return *this->type_info;
+}
+
+bool operator==(const TypeInfo& lhs, const TypeInfo& rhs) {
+ return lhs.get() == rhs.get();
+}
+
+bool operator!=(const TypeInfo& lhs, const TypeInfo& rhs) {
+ return !(lhs == rhs);
+}
+
+bool operator<(const TypeInfo& lhs, const TypeInfo& rhs) {
+ return lhs.before(rhs);
+}
+
+bool operator<=(const TypeInfo& lhs, const TypeInfo& rhs) {
+ return !(lhs > rhs);
+}
+
+bool operator>(const TypeInfo& lhs, const TypeInfo& rhs) {
+ return rhs < lhs;
+}
+
+bool operator>=(const TypeInfo& lhs, const TypeInfo& rhs) {
+ return !(lhs < rhs);
+}