diff --git a/src/UserData/UserDataCollections/UserDataCollectionIterator.cpp b/src/UserData/UserDataCollections/UserDataCollectionIterator.cpp index 29bc7a0..8ebc926 100644 --- a/src/UserData/UserDataCollections/UserDataCollectionIterator.cpp +++ b/src/UserData/UserDataCollections/UserDataCollectionIterator.cpp @@ -1 +1,11 @@ #include "UserDataCollectionIterator.hpp" + +namespace Porygon::UserData{ + extern "C"{ + UserDataCollectionIterator* CreateCollectionIterator(const Evaluation::EvalValue* (*getCurrent)(), + const Evaluation::EvalValue* (*moveNext)(), + const Evaluation::EvalValue* (*reset)()){ + return new UserDataCollectionIterator(getCurrent, moveNext, reset); + } + } +} \ No newline at end of file diff --git a/src/UserData/UserDataCollections/UserDataCollectionIterator.hpp b/src/UserData/UserDataCollections/UserDataCollectionIterator.hpp index 4799dcd..f46aa16 100644 --- a/src/UserData/UserDataCollections/UserDataCollectionIterator.hpp +++ b/src/UserData/UserDataCollections/UserDataCollectionIterator.hpp @@ -21,7 +21,7 @@ namespace Porygon::UserData{ return _getCurrent(); } bool MoveNext() final{ - _moveNext(); + return _moveNext(); } void Reset() final{ _reset(); diff --git a/src/UserData/UserDataCollections/UserDataCollectionRangeIterator.cpp b/src/UserData/UserDataCollections/UserDataCollectionRangeIterator.cpp index e2815fa..1e4e785 100644 --- a/src/UserData/UserDataCollections/UserDataCollectionRangeIterator.cpp +++ b/src/UserData/UserDataCollections/UserDataCollectionRangeIterator.cpp @@ -1 +1,9 @@ #include "UserDataCollectionRangeIterator.hpp" + +namespace Porygon::UserData{ +extern "C"{ + UserDataCollectionRangeIterator* CreateCollectionRangeIterator(size_t start, size_t end){ + return new UserDataCollectionRangeIterator(start, end); + } +} +} \ No newline at end of file