mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 04:41:16 +00:00
Removed parse
This commit is contained in:
@@ -1,2 +0,0 @@
|
||||
add_executable(parse parse.cpp)
|
||||
target_link_libraries(parse yaml-cpp)
|
||||
|
@@ -1,65 +0,0 @@
|
||||
#include "yaml-cpp/yaml.h"
|
||||
#include "yaml-cpp/eventhandler.h"
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
|
||||
struct Params {
|
||||
bool hasFile;
|
||||
std::string fileName;
|
||||
};
|
||||
|
||||
Params ParseArgs(int argc, char **argv) {
|
||||
Params p;
|
||||
|
||||
std::vector<std::string> args(argv + 1, argv + argc);
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
class NullEventHandler: public YAML::EventHandler
|
||||
{
|
||||
public:
|
||||
virtual void OnDocumentStart(const YAML::Mark&) {}
|
||||
virtual void OnDocumentEnd() {}
|
||||
|
||||
virtual void OnNull(const YAML::Mark&, YAML::anchor_t) {}
|
||||
virtual void OnAlias(const YAML::Mark&, YAML::anchor_t) {}
|
||||
virtual void OnScalar(const YAML::Mark&, const std::string&, YAML::anchor_t, const std::string&) {}
|
||||
|
||||
virtual void OnSequenceStart(const YAML::Mark&, const std::string&, YAML::anchor_t) {}
|
||||
virtual void OnSequenceEnd() {}
|
||||
|
||||
virtual void OnMapStart(const YAML::Mark&, const std::string&, YAML::anchor_t) {}
|
||||
virtual void OnMapEnd() {}
|
||||
};
|
||||
|
||||
void parse(std::istream& input)
|
||||
{
|
||||
try {
|
||||
YAML::Parser parser(input);
|
||||
YAML::Node doc;
|
||||
while(parser.GetNextDocument(doc)) {
|
||||
YAML::Emitter emitter;
|
||||
emitter << doc;
|
||||
std::cout << emitter.c_str() << "\n";
|
||||
}
|
||||
} catch(const YAML::Exception& e) {
|
||||
std::cerr << e.what() << "\n";
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
Params p = ParseArgs(argc, argv);
|
||||
|
||||
if(argc > 1) {
|
||||
std::ifstream fin;
|
||||
fin.open(argv[1]);
|
||||
parse(fin);
|
||||
} else {
|
||||
parse(std::cin);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user