-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIonReader.h
41 lines (33 loc) · 858 Bytes
/
IonReader.h
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
30
31
32
33
34
35
36
37
38
39
40
41
/* Copyright (C) Siqi.Wu - All Rights Reserved
* Unauthorized copying of this file, via any medium is strictly prohibited
* Written by Siqi.Wu <[email protected]>, July 2021
*/
#ifndef ION_HASH_CPP_ION_READER_H_
#define ION_HASH_CPP_ION_READER_H_
#include "IonHash_EXPORTS.h"
#include <string>
#include <vector>
#include "ionc/ion.h"
#include "IonType.h"
#ifndef ION_CONTAINER_DEPTH_MAX
#define ION_CONTAINER_DEPTH_MAX 100
#endif
#ifndef ION_ANNOTATION_MAX
#define ION_ANNOTATION_MAX 100
#endif
namespace Ion {
class ION_HASH_EXPORTS Reader {
public:
hREADER reader;
Ion::Type currentType;
public:
explicit Reader(const char *ion_text);
Reader(const std::vector<unsigned char> &ion_binary);
~Reader();
explicit Reader(hREADER reader);
Ion::Type next();
void stepIn() const;
void stepOut() const;
};
};
#endif