DTrackSDK  v2.9.0
DTrackParse.hpp
1 /* DTrackSDK in C++: DTrackParse.hpp
2  *
3  * Functions for parsing ASCII data.
4  *
5  * Copyright (c) 2007-2023 Advanced Realtime Tracking GmbH & Co. KG
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  * 3. Neither the name of copyright holder nor the names of its contributors
16  * may be used to endorse or promote products derived from this software
17  * without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30 
31 #ifndef _ART_DTRACKSDK_PARSE_HPP_
32 #define _ART_DTRACKSDK_PARSE_HPP_
33 
34 #include <string>
35 
36 namespace DTrackSDK_Parse
37 {
38 
46 char* string_nextline(char* str, char* start, int len);
47 
55 char* string_get_i(char* str, int* i);
56 
64 char* string_get_ui(char* str, unsigned int* ui);
65 
73 char* string_get_d(char* str, double* d);
74 
82 char* string_get_f(char* str, float* f);
83 
94 char* string_get_block(char* str, const char* fmt, int* idat = NULL, float* fdat = NULL, double *ddat = NULL);
95 
103 char* string_get_word(char* str, std::string& w);
104 
112 char* string_get_quoted_text(char* str, std::string& qt);
113 
122 size_t string_cmp_parameter( const std::string& str, size_t pos, const std::string& par );
123 
124 
125 } // namespace DTrackSDK_Parse
126 
127 #endif // _ART_DTRACKSDK_PARSE_HPP_
128