sparrow
2.4.0
C++20 idiomatic APIs for the Apache Arrow Columnar Format
Toggle main menu visibility
Loading...
Searching...
No Matches
array_iterator.hpp
Go to the documentation of this file.
1
// Copyright 2024 Man Group Operations Limited
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or mplied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#pragma once
16
17
#include <cstddef>
18
19
#include "
sparrow/config/config.hpp
"
20
#include "
sparrow/types/data_traits.hpp
"
21
#include "
sparrow/utils/iterator.hpp
"
22
23
namespace
sparrow
24
{
25
class
array
;
26
27
class
SPARROW_API
array_const_iterator
:
public
pointer_index_iterator_base
<
28
array_const_iterator,
29
const array,
30
array_traits::value_type,
31
array_traits::const_reference,
32
std::random_access_iterator_tag>
33
{
34
public
:
35
36
using
base_type
=
pointer_index_iterator_base
<
37
array_const_iterator
,
38
const
array
,
39
array_traits::value_type
,
40
array_traits::const_reference
,
41
std::random_access_iterator_tag>;
42
using
difference_type
= std::ptrdiff_t;
43
using
size_type
= std::size_t;
44
45
array_const_iterator
() =
default
;
46
47
private
:
48
49
array_const_iterator
(
const
array
* array_ptr,
size_type
index);
50
[[nodiscard]]
array_traits::const_reference
dereference()
const
;
51
52
friend
class
iterator_access
;
53
friend
class
array
;
54
};
55
}
sparrow::array_const_iterator::difference_type
std::ptrdiff_t difference_type
Definition
array_iterator.hpp:42
sparrow::array_const_iterator::base_type
pointer_index_iterator_base< array_const_iterator, const array, array_traits::value_type, array_traits::const_reference, std::random_access_iterator_tag > base_type
Definition
array_iterator.hpp:36
sparrow::array_const_iterator::array_const_iterator
array_const_iterator()=default
sparrow::array_const_iterator::size_type
std::size_t size_type
Definition
array_iterator.hpp:43
sparrow::array_const_iterator::array
friend class array
Definition
array_iterator.hpp:53
sparrow::array_const_iterator::iterator_access
friend class iterator_access
Definition
array_iterator.hpp:52
sparrow::array
Dynamically typed array encapsulating an Arrow layout.
Definition
array_api.hpp:50
sparrow::pointer_index_iterator_base< array_const_iterator, const array, array_traits::value_type, array_traits::const_reference, std::random_access_iterator_tag >::pointer_index_iterator_base
constexpr pointer_index_iterator_base() noexcept=default
config.hpp
SPARROW_API
#define SPARROW_API
Definition
config.hpp:38
data_traits.hpp
iterator.hpp
sparrow
Definition
array.hpp:21
sparrow::array_traits::const_reference
mpl::rename< mpl::unique< mpl::transform< detail::array_const_reference_t, all_base_types_t > >, nullable_variant > const_reference
Definition
data_traits.hpp:276
sparrow::array_traits::value_type
mpl::rename< mpl::transform< detail::array_value_type_t, all_base_types_t >, nullable_variant > value_type
Definition
data_traits.hpp:274
sparrow
array_iterator.hpp
Generated by
1.17.0