import { satisfiesConcept } from "../utils/concept" export class ForwardIterator { move(rhs) { return this.copy(rhs) } neq(rhs) { return !this.eq(rhs) } } ForwardIterator.is = function (obj, ...args) { const pure_virtual = [ 'clone', 'copy', 'value', 'deref', 'inc', 'eq', ] const virtual = [ 'move', 'neq', ] return satisfiesConcept(obj, pure_virtual, virtual, ...args) }