3rdparty
libpointmatcher
contrib
yaml-cpp-pm
src
token.h
Go to the documentation of this file.
1
#ifndef TOKEN_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM
2
#define TOKEN_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM
3
4
#if defined(_MSC_VER) || (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4
5
#pragma once
6
#endif
7
8
9
#include "
yaml-cpp-pm/mark.h
"
10
#include <iostream>
11
#include <string>
12
#include <vector>
13
14
namespace
YAML_PM
15
{
16
const
std::string
TokenNames
[] = {
17
"DIRECTIVE"
,
18
"DOC_START"
,
19
"DOC_END"
,
20
"BLOCK_SEQ_START"
,
21
"BLOCK_MAP_START"
,
22
"BLOCK_SEQ_END"
,
23
"BLOCK_MAP_END"
,
24
"BLOCK_ENTRY"
,
25
"FLOW_SEQ_START"
,
26
"FLOW_MAP_START"
,
27
"FLOW_SEQ_END"
,
28
"FLOW_MAP_END"
,
29
"FLOW_MAP_COMPACT"
,
30
"FLOW_ENTRY"
,
31
"KEY"
,
32
"VALUE"
,
33
"ANCHOR"
,
34
"ALIAS"
,
35
"TAG"
,
36
"SCALAR"
37
};
38
39
struct
Token
{
40
// enums
41
enum
STATUS
{
VALID
,
INVALID
,
UNVERIFIED
};
42
enum
TYPE
{
43
DIRECTIVE
,
44
DOC_START
,
45
DOC_END
,
46
BLOCK_SEQ_START
,
47
BLOCK_MAP_START
,
48
BLOCK_SEQ_END
,
49
BLOCK_MAP_END
,
50
BLOCK_ENTRY
,
51
FLOW_SEQ_START
,
52
FLOW_MAP_START
,
53
FLOW_SEQ_END
,
54
FLOW_MAP_END
,
55
FLOW_MAP_COMPACT
,
56
FLOW_ENTRY
,
57
KEY
,
58
VALUE
,
59
ANCHOR
,
60
ALIAS
,
61
TAG
,
62
PLAIN_SCALAR
,
63
NON_PLAIN_SCALAR
64
};
65
66
// data
67
Token
(
TYPE
type_,
const
Mark
& mark_):
status
(
VALID
),
type
(type_),
mark
(mark_),
data
(0) {}
68
69
friend
std::ostream&
operator <<
(std::ostream&
out
,
const
Token
& token) {
70
out
<<
TokenNames
[token.
type
] <<
std::string
(
": "
) << token.
value
;
71
for
(std::size_t i=0;i<token.
params
.size();i++)
72
out
<<
std::string
(
" "
) << token.
params
[i];
73
return
out
;
74
}
75
76
STATUS
status
;
77
TYPE
type
;
78
Mark
mark
;
79
std::string
value
;
80
std::vector <std::string>
params
;
81
int
data
;
82
};
83
}
84
85
#endif // TOKEN_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM
YAML_PM::Token::BLOCK_MAP_START
@ BLOCK_MAP_START
Definition:
token.h:47
YAML_PM::Token::FLOW_MAP_START
@ FLOW_MAP_START
Definition:
token.h:52
YAML_PM::Token::KEY
@ KEY
Definition:
token.h:57
YAML_PM::Token::PLAIN_SCALAR
@ PLAIN_SCALAR
Definition:
token.h:62
YAML_PM::Token::operator<<
friend std::ostream & operator<<(std::ostream &out, const Token &token)
Definition:
token.h:69
YAML_PM::TokenNames
const std::string TokenNames[]
Definition:
token.h:16
YAML_PM::Token::status
STATUS status
Definition:
token.h:76
YAML_PM::Token::BLOCK_SEQ_END
@ BLOCK_SEQ_END
Definition:
token.h:48
YAML_PM
Definition:
aliasmanager.h:11
YAML_PM::Token::STATUS
STATUS
Definition:
token.h:41
YAML_PM::Token::mark
Mark mark
Definition:
token.h:78
YAML_PM::Token::NON_PLAIN_SCALAR
@ NON_PLAIN_SCALAR
Definition:
token.h:63
YAML_PM::Token::UNVERIFIED
@ UNVERIFIED
Definition:
token.h:41
YAML_PM::Token::FLOW_SEQ_END
@ FLOW_SEQ_END
Definition:
token.h:53
YAML_PM::Token::BLOCK_SEQ_START
@ BLOCK_SEQ_START
Definition:
token.h:46
YAML_PM::Token::TYPE
TYPE
Definition:
token.h:42
YAML_PM::Token::params
std::vector< std::string > params
Definition:
token.h:80
YAML_PM::Token::value
std::string value
Definition:
token.h:79
testing::internal::string
::std::string string
Definition:
gtest.h:1979
YAML_PM::Token::BLOCK_ENTRY
@ BLOCK_ENTRY
Definition:
token.h:50
YAML_PM::Token::INVALID
@ INVALID
Definition:
token.h:41
YAML_PM::Token::TAG
@ TAG
Definition:
token.h:61
YAML_PM::Token::FLOW_ENTRY
@ FLOW_ENTRY
Definition:
token.h:56
kitti-batch-convert.out
string out
Definition:
kitti-batch-convert.py:7
YAML_PM::Token::VALID
@ VALID
Definition:
token.h:41
YAML_PM::Token::BLOCK_MAP_END
@ BLOCK_MAP_END
Definition:
token.h:49
YAML_PM::Token::DOC_START
@ DOC_START
Definition:
token.h:44
YAML_PM::Token::DIRECTIVE
@ DIRECTIVE
Definition:
token.h:43
YAML_PM::Token::type
TYPE type
Definition:
token.h:77
YAML_PM::Token::DOC_END
@ DOC_END
Definition:
token.h:45
YAML_PM::Token::ANCHOR
@ ANCHOR
Definition:
token.h:59
YAML_PM::Mark
Definition:
mark.h:13
YAML_PM::Token::FLOW_MAP_END
@ FLOW_MAP_END
Definition:
token.h:54
YAML_PM::Token::VALUE
@ VALUE
Definition:
token.h:58
YAML_PM::Token
Definition:
token.h:39
YAML_PM::Token::FLOW_SEQ_START
@ FLOW_SEQ_START
Definition:
token.h:51
YAML_PM::Token::FLOW_MAP_COMPACT
@ FLOW_MAP_COMPACT
Definition:
token.h:55
YAML_PM::Token::data
int data
Definition:
token.h:81
mark.h
YAML_PM::Token::Token
Token(TYPE type_, const Mark &mark_)
Definition:
token.h:67
YAML_PM::Token::ALIAS
@ ALIAS
Definition:
token.h:60
mp2p_icp
Author(s):
autogenerated on Fri Dec 20 2024 03:46:00