diff options
| author | Maxime Coste <mawww@kakoune.org> | 2017-10-20 19:00:06 +0800 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2017-11-01 14:05:15 +0800 |
| commit | 7c3bc48627c0bbb97cf4d1ffb8a3ee30a6beec9b (patch) | |
| tree | ea5705d0063b407502fe1859e9d3552223a2db87 /src/meta.hh | |
| parent | 60e32d73ffb0d98febffec78d4ed38b748fab465 (diff) | |
Fix ConstexprVector::resize
Diffstat (limited to 'src/meta.hh')
| -rw-r--r-- | src/meta.hh | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/meta.hh b/src/meta.hh index 110ad3b3..ce29a758 100644 --- a/src/meta.hh +++ b/src/meta.hh @@ -57,17 +57,14 @@ struct ConstexprVector constexpr bool empty() const { return m_size == 0; } constexpr size_t size() const { return m_size; } - constexpr void resize(size_t n, const T& val) + constexpr void resize(size_t n, const T& val = {}) { if (n >= capacity) throw "capacity exceeded"; - if (n > m_size) - { - for (int i = n; i < m_size; ++i) - m_data[i] = val; - } + for (int i = m_size; i < n; ++i) + m_data[i] = val; m_size = n; - kak_assert(this->size() == m_size); + kak_assert(this->size() == m_size); // check for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79520 } constexpr T& operator[](size_t i) { return m_data[i]; } |
