strus  0.17
structIteratorInterface.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018 Patrick P. Frey
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7  */
10 #ifndef _STRUS_STRUCTURE_ITERATOR_INTERFACE_HPP_INCLUDED
11 #define _STRUS_STRUCTURE_ITERATOR_INTERFACE_HPP_INCLUDED
12 #include "strus/index.hpp"
13 #include <vector>
14 
15 namespace strus
16 {
17 
21 {
22 public:
25 
29  virtual Index skipDoc( const Index& docno)=0;
30 
36  virtual IndexRange skipPosSource( const Index& firstpos)=0;
37 
43  virtual IndexRange skipPosSink( const Index& firstpos)=0;
44 
47  virtual IndexRange source() const=0;
48 
51  virtual IndexRange sink() const=0;
52 };
53 
54 }//namespace
55 #endif
56 
57 
int32_t Index
Number type generally used for locally counted indices.
Definition: index.hpp:29
Definition: index.hpp:38
virtual IndexRange source() const =0
Return the last source index range retrieved with 'skipPosSource( const Index&)' withut calling 'skip...
Structure that represents relations of position info index ranges (directed graph) per document...
Definition: structIteratorInterface.hpp:20
Numeric types used for local and global indices.
virtual IndexRange skipPosSource(const Index &firstpos)=0
Return the first matching source index range with a end position higher than firstpos in the current ...
virtual IndexRange sink() const =0
Return the last source index range retrieved with 'skipPosSink( const Index&)' withut calling 'skipPo...
virtual Index skipDoc(const Index &docno)=0
Return the next document match with a document number higher than or equal to a given document number...
virtual IndexRange skipPosSink(const Index &firstpos)=0
Return the first matching sink index range attached to the current source index range with a end posi...
virtual ~StructIteratorInterface()
Destructor.
Definition: structIteratorInterface.hpp:24