summaryrefslogtreecommitdiff
path: root/ext/librethinkdbxx/src/cursor_p.h
blob: ce584cd726f15d051971125b9ef3a152c0e7a27e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef CURSOR_P_H
#define CURSOR_P_H

#include "connection_p.h"

namespace RethinkDB {

class CursorPrivate {
public:
    CursorPrivate(uint64_t token, Connection *conn);
    CursorPrivate(uint64_t token, Connection *conn, Datum&&);

    void add_response(Response&&) const;
    void add_results(Array&&) const;
    void clear_and_read_all() const;
    void convert_single() const;

    mutable bool single = false;
    mutable bool no_more = false;
    mutable size_t index = 0;
    mutable Array buffer;

    uint64_t token;
    Connection *conn;
};

}   // namespace RethinkDB

#endif  // CURSOR_P_H