mirror of
				https://github.com/PaddlePaddle/FastDeploy.git
				synced 2025-11-01 04:12:58 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include <fstream>
 | |
| #include <iostream>
 | |
| #include <vector>
 | |
| 
 | |
| #include "yaml-cpp/eventhandler.h"
 | |
| #include "yaml-cpp/yaml.h"  // IWYU pragma: keep
 | |
| 
 | |
| class NullEventHandler : public YAML::EventHandler {
 | |
|  public:
 | |
|   void OnDocumentStart(const YAML::Mark&) override {}
 | |
|   void OnDocumentEnd() override {}
 | |
| 
 | |
|   void OnNull(const YAML::Mark&, YAML::anchor_t) override {}
 | |
|   void OnAlias(const YAML::Mark&, YAML::anchor_t) override {}
 | |
|   void OnScalar(const YAML::Mark&, const std::string&, YAML::anchor_t,
 | |
|                 const std::string&) override {}
 | |
| 
 | |
|   void OnSequenceStart(const YAML::Mark&, const std::string&, YAML::anchor_t,
 | |
|                        YAML::EmitterStyle::value) override {}
 | |
|   void OnSequenceEnd() override {}
 | |
| 
 | |
|   void OnMapStart(const YAML::Mark&, const std::string&, YAML::anchor_t,
 | |
|                   YAML::EmitterStyle::value) override {}
 | |
|   void OnMapEnd() override {}
 | |
| };
 | |
| 
 | |
| void parse(std::istream& input) {
 | |
|   try {
 | |
|     YAML::Node doc = YAML::Load(input);
 | |
|     std::cout << doc << "\n";
 | |
|   } catch (const YAML::Exception& e) {
 | |
|     std::cerr << e.what() << "\n";
 | |
|   }
 | |
| }
 | |
| 
 | |
| int main(int argc, char** argv) {
 | |
|   if (argc > 1) {
 | |
|     std::ifstream fin;
 | |
|     fin.open(argv[1]);
 | |
|     parse(fin);
 | |
|   } else {
 | |
|     parse(std::cin);
 | |
|   }
 | |
| 
 | |
|   return 0;
 | |
| }
 | 
