diff --git a/README.md b/README.md index 96d355cd0..0ee0a657a 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ Procedures for each standard are provided by the following R7RS-style libraries: cmake -B build -DCMAKE_BUILD_TYPE=Release cd build make package -sudo apt install build/meevax_0.5.159_amd64.deb +sudo apt install build/meevax_0.5.160_amd64.deb ``` or @@ -123,9 +123,9 @@ sudo rm -rf /usr/local/share/meevax | Target Name | Description |-------------|------------- -| `all` | Build shared-library `libmeevax.0.5.159.so` and executable `meevax` +| `all` | Build shared-library `libmeevax.0.5.160.so` and executable `meevax` | `test` | Test executable `meevax` -| `package` | Generate debian package `meevax_0.5.159_amd64.deb` +| `package` | Generate debian package `meevax_0.5.160_amd64.deb` | `install` | Copy files into `/usr/local` directly ## Usage diff --git a/VERSION b/VERSION index 7948d08ba..e5003ef3d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.5.159 +0.5.160 diff --git a/include/meevax/memory/integer_set.hpp b/include/meevax/memory/integer_set.hpp index a9c47d222..a9f2a2e56 100644 --- a/include/meevax/memory/integer_set.hpp +++ b/include/meevax/memory/integer_set.hpp @@ -48,8 +48,18 @@ inline namespace memory std::size_t max = 0; - struct const_iterator : public std::iterator + struct const_iterator { + using value_type = T; + + using difference_type = std::ptrdiff_t; + + using pointer = T *; + + using reference = T &; + + using iterator_category = std::bidirectional_iterator_tag; + subset const* const* data = nullptr; std::size_t max = 0; @@ -273,8 +283,18 @@ inline namespace memory std::uint64_t data[N / 64] {}; - struct const_iterator : public std::iterator + struct const_iterator { + using value_type = T; + + using difference_type = std::ptrdiff_t; + + using pointer = T *; + + using reference = T &; + + using iterator_category = std::bidirectional_iterator_tag; + std::uint64_t const* data = nullptr; std::size_t index = std::numeric_limits::max();