17#ifndef POLAR_ITERATOR_H
18#define POLAR_ITERATOR_H
36 (*get_next)(
polar_iterator *self,
void **out_next_element ) POLAR_FUNCTION_INTERNAL;
39#define POLAR_TYPE_ITERATOR ( polar_iterator_get_type() )
41#define POLAR_ITERATOR(inst) ( POLAR_INTERNAL_TYPE_CHECK_INSTANCE_CAST((inst), POLAR_TYPE_ITERATOR, polar_iterator) )
42#define POLAR_IS_ITERATOR(inst) ( POLAR_INTERNAL_TYPE_CHECK_INSTANCE_TYPE((inst), POLAR_TYPE_ITERATOR) )
43#define POLAR_ITERATOR_CLASS(klass) ( POLAR_INTERNAL_TYPE_CHECK_CLASS_CAST((klass), POLAR_TYPE_ITERATOR, polar_iterator_class) )
44#define POLAR_IS_ITERATOR_CLASS(klass) ( POLAR_INTERNAL_TYPE_CHECK_CLASS_TYPE((klass), POLAR_TYPE_ITERATOR) )
45#define POLAR_ITERATOR_GET_CLASS(inst) ( POLAR_INTERNAL_TYPE_INSTANCE_GET_CLASS((inst), POLAR_TYPE_ITERATOR, polar_iterator_class) )
47POLAR_FUNCTION_INTERNAL OBJC_FUNCTION_CONSTANT polar_internal_type
48polar_iterator_get_type(
void );
51polar_iterator_get_next(
polar_iterator *self,
void **out_next_element )
53 assert( POLAR_IS_ITERATOR(self) );
55 return POLAR_ITERATOR_GET_CLASS(self)->get_next(self, out_next_element);
Definition polar-iterator.h:30
Definition polar-iterator.h:25
Definition polar-runtime-object.h:36
Definition polar-runtime-object.h:31