]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/layout.h
Add a common base class for tangible objects
[r2c2.git] / source / libr2c2 / layout.h
index 73c74b8d4c6cc1177415aead1990360a58080b96..c32795594bd253b43d03299e0dfe2e30f3b74d81 100644 (file)
@@ -93,8 +93,16 @@ public:
 
        void add_signal(Signal &);
        const std::set<Signal *> &get_signals() const { return signals; }
+       Signal *pick_signal(const Vector &, const Vector &);
        void remove_signal(Signal &);
 
+       Object *pick_object(const Vector &, const Vector &);
+
+private:
+       template<typename T>
+       static T *pick(const std::set<T *> &, const Vector &, const Vector &);
+
+public:
        void add_block(Block &);
        Block &get_block(unsigned) const;
        const std::set<Block *> &get_blocks() const { return blocks; }