contrib
yaml-cpp-pm
include
yaml-cpp-pm
parser.h
Go to the documentation of this file.
1
#ifndef PARSER_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM
2
#define PARSER_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/dll.h
"
10
#include "
yaml-cpp-pm/noncopyable.h
"
11
#include <ios>
12
#include <memory>
13
14
namespace
YAML_PM
15
{
16
struct
Directives;
17
struct
Mark;
18
struct
Token;
19
class
EventHandler;
20
class
Node;
21
class
Scanner;
22
23
class
YAML_CPP_API
Parser
:
private
noncopyable
24
{
25
public
:
26
Parser
();
27
Parser
(std::istream& in);
28
~
Parser
();
29
30
operator
bool()
const
;
31
32
void
Load(std::istream& in);
33
bool
HandleNextDocument(
EventHandler
& eventHandler);
34
35
bool
GetNextDocument(
Node
& document);
// old API only
36
37
void
PrintTokens(std::ostream& out);
38
39
private
:
40
void
ParseDirectives();
41
void
HandleDirective(
const
Token
& token);
42
void
HandleYamlDirective(
const
Token
& token);
43
void
HandleTagDirective(
const
Token
& token);
44
45
private
:
46
std::auto_ptr<Scanner>
m_pScanner
;
47
std::auto_ptr<Directives>
m_pDirectives
;
48
};
49
}
50
51
#endif // PARSER_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM
YAML_PM::EventHandler
Definition:
eventhandler.h:15
YAML_PM::noncopyable
Definition:
noncopyable.h:13
YAML_PM::Token
Definition:
token.h:39
YAML_CPP_API
#define YAML_CPP_API
Definition:
dll.h:25
YAML_PM::Node
Definition:
node.h:33
YAML_PM
Definition:
aliasmanager.h:11
YAML_PM::Parser::m_pScanner
std::auto_ptr< Scanner > m_pScanner
Definition:
parser.h:46
YAML_PM::Parser::m_pDirectives
std::auto_ptr< Directives > m_pDirectives
Definition:
parser.h:47
YAML_PM::Parser
Definition:
parser.h:23
noncopyable.h
dll.h
libpointmatcher
Author(s):
autogenerated on Sat May 27 2023 02:38:03