diff options
author | David Robillard <d@drobilla.net> | 2007-07-26 19:16:52 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-07-26 19:16:52 +0000 |
commit | b7ad436ab6967a9d932c47ced5220cdbad4cd8d5 (patch) | |
tree | 95a47f87abc79f2ee2a7c04b865579d60ea1493f /raul/Table.hpp | |
parent | dfcc6b65f887e3afcb3aa35eb7b15b7d7ffb972e (diff) | |
download | raul-b7ad436ab6967a9d932c47ced5220cdbad4cd8d5.tar.gz raul-b7ad436ab6967a9d932c47ced5220cdbad4cd8d5.tar.bz2 raul-b7ad436ab6967a9d932c47ced5220cdbad4cd8d5.zip |
Use PathTable for engine side objects.
Re-implement renaming and destroying more cleanly (not to mention workingly).
git-svn-id: http://svn.drobilla.net/lad/raul@638 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'raul/Table.hpp')
-rw-r--r-- | raul/Table.hpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/raul/Table.hpp b/raul/Table.hpp index 3342bdb..4ab449c 100644 --- a/raul/Table.hpp +++ b/raul/Table.hpp @@ -33,7 +33,8 @@ namespace Raul { template <typename K, typename T> class Table { public: - Table<K, T>() {} + Table<K, T>() : _entries() {} + Table<K, T>(size_t capacity) : _entries(capacity) {} void clear() { _entries.clear(); } bool empty() const { return _entries.empty(); } @@ -56,8 +57,8 @@ public: struct iterator { iterator(Table<K,T>& t, size_t i) : _table(t), _index(i) {} - inline std::pair<const K, T>& operator*() const { return (std::pair<const K, T>&)_table._entries[_index]; } - inline std::pair<const K, T>* operator->() const { return (std::pair<const K, T>*)&_table._entries[_index]; } + inline std::pair<K, T>& operator*() const { return (std::pair<K, T>&)_table._entries[_index]; } + inline std::pair<K, T>* operator->() const { return (std::pair<K, T>*)&_table._entries[_index]; } inline iterator& operator++() { ++_index; return *this; } inline iterator& operator--() { --_index; return *this; } inline bool operator==(const iterator& i) const { return _index == i._index; } @@ -79,9 +80,9 @@ public: void erase(iterator start, iterator end); void erase_by_index(size_t start, size_t end); - std::vector<std::pair<K, T> > yank(iterator start, iterator end); + Table<K, T> yank(iterator start, iterator end); - std::pair<iterator, bool> cram(const std::vector<std::pair<K, T> >& range); + std::pair<iterator, bool> cram(const Table<K, T>& range); const_iterator find(const K& key) const; iterator find(const K& key); |