00001 #ifndef SELECTION_H 00002 #define SELECTION_H 00003 00004 #include <unordered_set> 00005 #include <Node.h> 00006 00007 namespace Elve { 00008 00009 class Selection : public NodeIDSet 00010 { 00011 public: 00012 Selection(); 00013 Selection(const NodeIDSet& set); 00014 void add(const NodeID& id); 00015 void add(const Selection& other); 00016 void sub(const Selection& other); 00017 void sub(const NodeID& id); 00018 QJsonArray json() const; 00019 static Selection fromJson(const QJsonArray& arr); 00020 }; 00021 00022 QDebug operator<<(QDebug stream, const Selection& s); 00023 00024 } 00025 #endif // SELECTION_H