// Copyright 2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (See accompanying // file LICENSE or copy at http://www.apache.org/licenses/LICENSE-2.0) // Official repository: https://github.com/ne-foss-org/nectar #ifndef NECTAR_GL_ITERATOR_NHH #define NECTAR_GL_ITERATOR_NHH //@ Rules for iterator implementation: //@ - _begin is the starting point of the iterator. //@ - _end is the number of elements to iterate over. //@ - _size is the total size of the collection. trait iterator_traits { let _begin := 0; let _end := 0; let _size := 0; let begin(); let end(); let size(); }; impl iterator : iterator_traits { let init() { return; } let dispose() { return; } let begin() { let end := _begin; return end; } let end() { let end :=_begin; end += _end; return end; } let size() { return _size; } }; #endif //@ NECTAR_GL_ITERATOR_NHH