polar-objc
5.44
An Objective-C runtime library
Loading...
Searching...
No Matches
polar-paged-array-iterator.h
1
/* Internal API: paged array iterator type for polar-objc.
2
Copyright (C) 2022-2025 Michael Malicoat <
[email protected]
>
3
4
This file is part of polar-objc.
5
6
polar-objc is free software; you can redistribute it and/or modify it under the terms of the GNU General Public
7
License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
8
9
polar-objc is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
10
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
11
details.
12
13
You should have received a copy of the GNU General Public License along with this program; see the file LICENSE. If
14
not, see <http://www.gnu.org/licenses/>.
15
*/
16
17
#ifndef POLAR_PAGED_ARRAY_ITERATOR_H
18
#define POLAR_PAGED_ARRAY_ITERATOR_H
19
// polar_paged_array_iterator ******************************************************************************************
20
21
typedef
struct
polar_paged_array_iterator
polar_paged_array_iterator
;
22
typedef
struct
polar_paged_array_iterator_class
polar_paged_array_iterator_class
;
23
24
struct
polar_paged_array_iterator
25
{
26
polar_iterator
data_inherited;
27
intptr_t idx_current;
28
polar_paged_array
*array_target;
29
};
30
31
struct
polar_paged_array_iterator_class
32
{
33
polar_iterator_class
data_inherited;
34
};
35
36
#define POLAR_TYPE_PAGED_ARRAY_ITERATOR ( polar_paged_array_iterator_get_type() )
37
38
#define POLAR_PAGED_ARRAY_ITERATOR(inst) ( POLAR_INTERNAL_TYPE_CHECK_INSTANCE_CAST((inst), POLAR_TYPE_PAGED_ARRAY_ITERATOR, polar_paged_array_iterator) )
39
#define POLAR_IS_PAGED_ARRAY_ITERATOR(inst) ( POLAR_INTERNAL_TYPE_CHECK_INSTANCE_TYPE((inst), POLAR_TYPE_PAGED_ARRAY_ITERATOR) )
40
#define POLAR_PAGED_ARRAY_ITERATOR_CLASS(klass) ( POLAR_INTERNAL_TYPE_CHECK_CLASS_CAST((klass), POLAR_TYPE_PAGED_ARRAY_ITERATOR, polar_paged_array_iterator_class) )
41
#define POLAR_IS_PAGED_ARRAY_ITERATOR_CLASS(klass) ( POLAR_INTERNAL_TYPE_CHECK_CLASS_TYPE((klass), POLAR_TYPE_PAGED_ARRAY_ITERATOR) )
42
#define POLAR_PAGED_ARRAY_ITERATOR_GET_CLASS(inst) ( POLAR_INTERNAL_TYPE_INSTANCE_GET_CLASS((inst), POLAR_TYPE_PAGED_ARRAY_ITERATOR, polar_paged_array_iterator_class) )
43
44
POLAR_FUNCTION_INTERNAL OBJC_FUNCTION_CONSTANT polar_internal_type
45
polar_paged_array_iterator_get_type(
void
);
46
47
static
inline
void
48
polar_paged_array_iterator_set_target(
polar_paged_array_iterator
*self,
polar_paged_array
*array_target )
49
{
50
assert( POLAR_IS_PAGED_ARRAY_ITERATOR(self) );
51
52
if
( self->array_target == NULL )
53
self->array_target = array_target;
54
}
55
56
#endif
// POLAR_PAGED_ARRAY_ITERATOR_H
polar_iterator_class
Definition
polar-iterator.h:30
polar_iterator
Definition
polar-iterator.h:25
polar_paged_array_iterator_class
Definition
polar-paged-array-iterator.h:32
polar_paged_array_iterator
Definition
polar-paged-array-iterator.h:25
polar_paged_array
Definition
polar-paged-array.h:25
source
polar-internals
memory
paged-array
polar-paged-array-iterator.h
Generated by
1.14.0