1/* -*- c-basic-offset: 2 -*- */
2/*
3 Copyright(C) 2011-2016 Brazil
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License version 2.1 as published by the Free Software Foundation.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with this library; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17*/
18
19#pragma once
20
21#include "cursor.hpp"
22
23namespace grn {
24namespace dat {
25
26class Trie;
27
28class GRN_DAT_API CursorFactory {
29 public:
30 static Cursor *open(const Trie &trie,
31 const void *min_ptr, UInt32 min_length,
32 const void *max_ptr, UInt32 max_length,
33 UInt32 offset = 0,
34 UInt32 limit = MAX_UINT32,
35 UInt32 flags = 0);
36
37 private:
38 // Disallows copy and assignment.
39 CursorFactory(const CursorFactory &);
40 CursorFactory &operator=(const CursorFactory &);
41};
42
43} // namespace dat
44} // namespace grn
45