feat(List)
This commit is contained in:
35
src/iterators/Forward.js
Normal file
35
src/iterators/Forward.js
Normal file
@ -0,0 +1,35 @@
|
||||
import { satisfiesConcept } from "../utils/concept"
|
||||
|
||||
export class ForwardIterator {
|
||||
move(rhs) {
|
||||
return this.copy(rhs)
|
||||
}
|
||||
|
||||
get value() {
|
||||
return this.deref().value
|
||||
}
|
||||
|
||||
set value(value) {
|
||||
return this.deref().value = value
|
||||
}
|
||||
|
||||
neq(rhs) {
|
||||
return !this.eq(rhs)
|
||||
}
|
||||
}
|
||||
|
||||
ForwardIterator.is = function (obj, ...args) {
|
||||
const pure_virtual = [
|
||||
'clone',
|
||||
'copy',
|
||||
'deref',
|
||||
'inc',
|
||||
'eq'
|
||||
]
|
||||
const virtual = [
|
||||
'move',
|
||||
'value',
|
||||
'neq',
|
||||
]
|
||||
return satisfiesConcept(obj, pure_virtual, virtual, ...args)
|
||||
}
|
||||
Reference in New Issue
Block a user