aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/yson_pull/detail/symbols.h
blob: dedf437535f76dd3ce8084d4556e1a1a1bc5212b (plain) (blame)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#pragma once

#include <util/generic/strbuf.h>
#include <util/system/types.h>

namespace NYsonPull { 
    namespace NDetail { 
        namespace NSymbol { 
#define SYM(name, value) constexpr ui8 name = value

            //! Indicates the beginning of a list. 
            SYM(begin_list, '['); 
            //! Indicates the end of a list. 
            SYM(end_list, ']'); 

            //! Indicates the beginning of a map. 
            SYM(begin_map, '{'); 
            //! Indicates the end of a map. 
            SYM(end_map, '}'); 

            //! Indicates the beginning of an attribute map. 
            SYM(begin_attributes, '<'); 
            //! Indicates the end of an attribute map. 
            SYM(end_attributes, '>'); 

            //! Separates items in lists and pairs in maps or attribute maps. 
            SYM(item_separator, ';'); 
            //! Separates keys from values in maps and attribute maps. 
            SYM(key_value_separator, '='); 

            //! Indicates an entity. 
            SYM(entity, '#'); 
            //! Indicates end of stream. 
            SYM(eof, '\0'); 

            //! Marks the beginning of a binary string literal. 
            SYM(string_marker, '\x01'); 
            //! Marks the beginning of a binary int64 literal. 
            SYM(int64_marker, '\x02'); 
            //! Marks the beginning of a binary uint64 literal. 
            SYM(uint64_marker, '\x06'); 
            //! Marks the beginning of a binary double literal. 
            SYM(double_marker, '\x03'); 
            //! Marks a binary `false' boolean value. 
            SYM(false_marker, '\x04'); 
            //! Marks a binary `true' boolean value. 
            SYM(true_marker, '\x05'); 

            //! Text string quote symbol 
            SYM(quote, '"'); 

#undef SYM
        } 
    } 
}