datasketches-cpp
Toggle main menu visibility
Loading...
Searching...
No Matches
hll
include
coupon_iterator-internal.hpp
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one
3
* or more contributor license agreements. See the NOTICE file
4
* distributed with this work for additional information
5
* regarding copyright ownership. The ASF licenses this file
6
* to you under the Apache License, Version 2.0 (the
7
* "License"); you may not use this file except in compliance
8
* with the License. You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing,
13
* software distributed under the License is distributed on an
14
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
* KIND, either express or implied. See the License for the
16
* specific language governing permissions and limitations
17
* under the License.
18
*/
19
20
#ifndef _INTARRAYPAIRITERATOR_INTERNAL_HPP_
21
#define _INTARRAYPAIRITERATOR_INTERNAL_HPP_
22
23
#include "HllUtil.hpp"
24
25
namespace
datasketches
{
26
27
template
<
typename
A>
28
coupon_iterator<A>::coupon_iterator(
const
uint32_t* array,
size_t
array_size,
size_t
index,
bool
all):
29
array_(array), array_size_(array_size), index_(index), all_(all) {
30
while
(index_ < array_size_) {
31
if
(all_ || array_[index_] != hll_constants::EMPTY) {
break
; }
32
++index_;
33
}
34
}
35
36
template
<
typename
A>
37
coupon_iterator<A>& coupon_iterator<A>::operator++() {
38
while
(++index_ < array_size_) {
39
if
(all_ || array_[index_] != hll_constants::EMPTY) {
break
; }
40
}
41
return
*
this
;
42
}
43
44
template
<
typename
A>
45
bool
coupon_iterator<A>::operator!=(
const
coupon_iterator& other)
const
{
46
return
index_ != other.index_;
47
}
48
49
template
<
typename
A>
50
auto
coupon_iterator<A>::operator*() const -> reference {
51
return
array_[index_];
52
}
53
54
}
55
56
#endif
// _INTARRAYPAIRITERATOR_INTERNAL_HPP_
datasketches
DataSketches namespace.
Definition
binomial_bounds.hpp:38
Generated by
1.18.0