]> git.localhorst.tv Git - blank.git/blobdiff - src/world/BlockTypeRegistry.hpp
some annotations
[blank.git] / src / world / BlockTypeRegistry.hpp
index 38afac4b6be98b18a8ad2273d284bf5e7a18f14d..6612d1516e72c893298f21ed193830a15fdd5671 100644 (file)
@@ -11,12 +11,23 @@ namespace blank {
 class BlockTypeRegistry {
 
 public:
-       BlockTypeRegistry();
+       using size_type = std::vector<BlockType>::size_type;
+       using reference = std::vector<BlockType>::reference;
+       using const_reference = std::vector<BlockType>::const_reference;
+       using iterator = std::vector<BlockType>::iterator;
+       using const_iterator = std::vector<BlockType>::const_iterator;
 
 public:
-       Block::Type Add(const BlockType &);
+       BlockTypeRegistry();
+
+       Block::Type Add(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]; }