@@ 22,20 22,24 @@ public:
: _list(list)
{}
- virtual size_t size() const override
- {
- return _list.size();
- }
-
- virtual const Value &operator[](size_t index) override
- {
- return _list[index];
- }
+ virtual size_t size() const override;
+ virtual const Value &operator[](size_t index) override;
private:
const std::vector<Value> _list;
};
+size_t ListLoopContainer::size() const
+{
+ return _list.size();
+}
+
+const Value &ListLoopContainer::operator[](size_t index)
+{
+ return _list[index];
+}
+
+
class StringLoopContainer
: public RangedLoopContainer
{
@@ 45,16 49,8 @@ public:
, _make_char_value(make_char_value)
{}
- virtual size_t size() const override
- {
- return _string.size();
- }
-
- virtual const Value &operator[](size_t index) override
- {
- _temp_value = _make_char_value(static_cast<int32_t>(_string[index]));
- return _temp_value;
- }
+ virtual size_t size() const override;
+ virtual const Value &operator[](size_t index) override;
private:
std::wstring _string;
@@ 62,6 58,17 @@ private:
Value _temp_value;
};
+size_t StringLoopContainer::size() const
+{
+ return _string.size();
+}
+
+const Value &StringLoopContainer::operator[](size_t index)
+{
+ _temp_value = _make_char_value(static_cast<int32_t>(_string[index]));
+ return _temp_value;
+}
+
const SyntaxToken *Assembler::consume_next_scope(const SyntaxToken *t)
{