File tree Expand file tree Collapse file tree 2 files changed +7
-2
lines changed
Expand file tree Collapse file tree 2 files changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -56,7 +56,10 @@ namespace kiwi
5656 };
5757
5858 template <class Ty >
59- struct SeqMax ;
59+ struct SeqMax
60+ {
61+ static constexpr std::ptrdiff_t value = 0 ;
62+ };
6063
6164 template <std::ptrdiff_t i>
6265 struct SeqMax <seq<i>>
@@ -130,7 +133,7 @@ namespace kiwi
130133 template <class ValTy , class SeqTy >
131134 class Table
132135 {
133- ValTy table[ SeqMax<SeqTy>::value + 1 ] ;
136+ std::array< ValTy, SeqMax<SeqTy>::value + 1 > table ;
134137
135138 template <class ValGetter >
136139 void set (seq<>)
@@ -153,6 +156,7 @@ namespace kiwi
153156
154157 constexpr ValTy operator [](std::ptrdiff_t idx) const
155158 {
159+ if (idx < 0 || (size_t )idx >= table.size ()) return ValTy{};
156160 return table[idx];
157161 }
158162 };
Original file line number Diff line number Diff line change 22#include < iostream>
33#include < unordered_set>
44#include < algorithm>
5+ #include < limits>
56
67#include < kiwi/Utils.h>
78#include < kiwi/TagUtils.h>
You can’t perform that action at this time.
0 commit comments