X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld%2FBlockTypeRegistry.hpp;h=9d9597dde0716348245f8a3e4d0622b008b50d8c;hb=1bc2f230105ad6e1ee8d999ddc079cd85d244bf9;hp=0a1ebf0ebc4f31a369fdc5eada961d12eef4d093;hpb=b7d09e1e35ef90282c97509e0020b20db3c7ea9f;p=blank.git diff --git a/src/world/BlockTypeRegistry.hpp b/src/world/BlockTypeRegistry.hpp index 0a1ebf0..9d9597d 100644 --- a/src/world/BlockTypeRegistry.hpp +++ b/src/world/BlockTypeRegistry.hpp @@ -11,14 +11,28 @@ namespace blank { class BlockTypeRegistry { public: - BlockTypeRegistry(); + using size_type = std::vector::size_type; + using reference = std::vector::reference; + using const_reference = std::vector::const_reference; + using iterator = std::vector::iterator; + using const_iterator = std::vector::const_iterator; public: + BlockTypeRegistry(); + Block::Type Add(const BlockType &); - size_t Size() const noexcept { return types.size(); } + size_t size() const noexcept { return types.size(); } + + iterator begin() noexcept { return types.begin(); } + const_iterator begin() const noexcept { return types.begin(); } + iterator end() noexcept { return types.end(); } + const_iterator end() const noexcept { return types.end(); } BlockType &operator [](Block::Type id) { return types[id]; } + const BlockType &operator [](Block::Type id) const { return types[id]; } + + BlockType &Get(Block::Type id) { return types[id]; } const BlockType &Get(Block::Type id) const { return types[id]; } private: