/
usr
/
local
/
lib64
/
python3.6
/
site-packages
/
pyarrow
/
include
/
arrow
/
/usr/local/lib64/python3.6/site-packages/pyarrow/include/arrow
mkdir
upload
Name
Size
Mode
Actions
adapters/
-
0755
rm
array/
-
0755
rm
c/
-
0755
rm
compute/
-
0755
rm
csv/
-
0755
rm
dataset/
-
0755
rm
filesystem/
-
0755
rm
flight/
-
0755
rm
io/
-
0755
rm
ipc/
-
0755
rm
json/
-
0755
rm
python/
-
0755
rm
tensor/
-
0755
rm
testing/
-
0755
rm
util/
-
0755
rm
vendored/
-
0755
rm
api.h
2290
0644
edit
dl
rm
array.h
1822
0644
edit
dl
rm
buffer.h
19493
0644
edit
dl
rm
buffer_builder.h
16430
0644
edit
dl
rm
builder.h
1481
0644
edit
dl
rm
chunked_array.h
9361
0644
edit
dl
rm
compare.h
5165
0644
edit
dl
rm
config.h
2267
0644
edit
dl
rm
datum.h
8980
0644
edit
dl
rm
device.h
8771
0644
edit
dl
rm
extension_type.h
6284
0644
edit
dl
rm
memory_pool.h
6294
0644
edit
dl
rm
memory_pool_test.h
2694
0644
edit
dl
rm
pch.h
1286
0644
edit
dl
rm
pretty_print.h
4182
0644
edit
dl
rm
record_batch.h
9398
0644
edit
dl
rm
result.h
17845
0644
edit
dl
rm
scalar.h
21124
0644
edit
dl
rm
sparse_tensor.h
25205
0644
edit
dl
rm
status.h
15552
0644
edit
dl
rm
stl.h
18297
0644
edit
dl
rm
stl_allocator.h
4614
0644
edit
dl
rm
stl_iterator.h
4583
0644
edit
dl
rm
table.h
11313
0644
edit
dl
rm
table_builder.h
3924
0644
edit
dl
rm
tensor.h
8913
0644
edit
dl
rm
type.h
72157
0644
edit
dl
rm
type_fwd.h
18243
0644
edit
dl
rm
type_traits.h
32600
0644
edit
dl
rm
visitor.h
6966
0644
edit
dl
rm
visitor_inline.h
16429
0644
edit
dl
rm
Edit:
/usr/local/lib64/python3.6/site-packages/pyarrow/include/arrow/stl_iterator.h
(4583B)
// Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. #pragma once #include <cstddef> #include <iterator> #include <utility> #include "arrow/type_fwd.h" #include "arrow/util/macros.h" #include "arrow/util/optional.h" namespace arrow { namespace stl { namespace detail { template <typename ArrayType> struct DefaultValueAccessor { using ValueType = decltype(std::declval<ArrayType>().GetView(0)); ValueType operator()(const ArrayType& array, int64_t index) { return array.GetView(index); } }; } // namespace detail template <typename ArrayType, typename ValueAccessor = detail::DefaultValueAccessor<ArrayType>> class ArrayIterator { public: using value_type = arrow::util::optional<typename ValueAccessor::ValueType>; using difference_type = int64_t; using pointer = value_type*; using reference = value_type&; using iterator_category = std::random_access_iterator_tag; // Some algorithms need to default-construct an iterator ArrayIterator() : array_(NULLPTR), index_(0) {} explicit ArrayIterator(const ArrayType& array, int64_t index = 0) : array_(&array), index_(index) {} // Value access value_type operator*() const { return array_->IsNull(index_) ? value_type{} : array_->GetView(index_); } value_type operator[](difference_type n) const { return array_->IsNull(index_ + n) ? value_type{} : array_->GetView(index_ + n); } int64_t index() const { return index_; } // Forward / backward ArrayIterator& operator++() { ++index_; return *this; } ArrayIterator& operator--() { --index_; return *this; } ArrayIterator operator++(int) { ArrayIterator tmp(*this); ++index_; return tmp; } ArrayIterator operator--(int) { ArrayIterator tmp(*this); --index_; return tmp; } // Arithmetic difference_type operator-(const ArrayIterator& other) const { return index_ - other.index_; } ArrayIterator operator+(difference_type n) const { return ArrayIterator(*array_, index_ + n); } ArrayIterator operator-(difference_type n) const { return ArrayIterator(*array_, index_ - n); } friend inline ArrayIterator operator+(difference_type diff, const ArrayIterator& other) { return ArrayIterator(*other.array_, diff + other.index_); } friend inline ArrayIterator operator-(difference_type diff, const ArrayIterator& other) { return ArrayIterator(*other.array_, diff - other.index_); } ArrayIterator& operator+=(difference_type n) { index_ += n; return *this; } ArrayIterator& operator-=(difference_type n) { index_ -= n; return *this; } // Comparisons bool operator==(const ArrayIterator& other) const { return index_ == other.index_; } bool operator!=(const ArrayIterator& other) const { return index_ != other.index_; } bool operator<(const ArrayIterator& other) const { return index_ < other.index_; } bool operator>(const ArrayIterator& other) const { return index_ > other.index_; } bool operator<=(const ArrayIterator& other) const { return index_ <= other.index_; } bool operator>=(const ArrayIterator& other) const { return index_ >= other.index_; } private: const ArrayType* array_; int64_t index_; }; } // namespace stl } // namespace arrow namespace std { template <typename ArrayType> struct iterator_traits<::arrow::stl::ArrayIterator<ArrayType>> { using IteratorType = ::arrow::stl::ArrayIterator<ArrayType>; using difference_type = typename IteratorType::difference_type; using value_type = typename IteratorType::value_type; using pointer = typename IteratorType::pointer; using reference = typename IteratorType::reference; using iterator_category = typename IteratorType::iterator_category; }; } // namespace std
Save
cmd:
run