parser.h
Go to the documentation of this file.
1 /*
2  * Copyright 2019, FZI Forschungszentrum Informatik (refactor)
3  *
4  * Copyright 2017, 2018 Simon Rasmussen (refactor)
5  *
6  * Copyright 2015, 2016 Thomas Timm Andersen (original version)
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 #pragma once
22 #include <vector>
25 
26 namespace urcl
27 {
28 namespace comm
29 {
35 template <typename T>
36 class Parser
37 
38 {
39 public:
40  Parser() = default;
41  virtual ~Parser() = default;
42 
49  virtual bool parse(BinParser& bp, std::vector<std::unique_ptr<T>>& results) = 0;
50 
51 private:
52  typename T::HeaderType header_;
53  // URProducer producer_;
54 };
55 
56 } // namespace comm
57 } // namespace urcl
The BinParser class handles a byte buffer and functionality to iteratively parse the content...
Definition: bin_parser.h:44
virtual bool parse(BinParser &bp, std::vector< std::unique_ptr< T >> &results)=0
Declares the parse function.
virtual ~Parser()=default
The parser is a general paser. The namsepace rtde_interface and primary_interface both iclude classes...
Definition: parser.h:36
T::HeaderType header_
Definition: parser.h:52


ur_client_library
Author(s): Thomas Timm Andersen, Simon Rasmussen, Felix Exner, Lea Steffen, Tristan Schnell
autogenerated on Sun May 9 2021 02:16:26