libdap  Updated for version 3.17.0
parser-util.h
00001 // -*- mode: c++; c-basic-offset:4 -*-
00002 
00003 // This file is part of libdap, A C++ implementation of the OPeNDAP Data
00004 // Access Protocol.
00005 
00006 // Copyright (c) 2014 OPeNDAP, Inc.
00007 // Author: James Gallagher <jgallagher@opendap.org>
00008 //
00009 // This library is free software; you can redistribute it and/or
00010 // modify it under the terms of the GNU Lesser General Public
00011 // License as published by the Free Software Foundation; either
00012 // version 2.1 of the License, or (at your option) any later version.
00013 //
00014 // This library is distributed in the hope that it will be useful,
00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017 // Lesser General Public License for more details.
00018 //
00019 // You should have received a copy of the GNU Lesser General Public
00020 // License along with this library; if not, write to the Free Software
00021 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00022 //
00023 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
00024 
00025 
00026 #ifndef PARSER_UTIL_H_
00027 #define PARSER_UTIL_H_
00028 
00029 namespace libdap {
00030 
00045 void save_str(char *dst, const char *src, const int line_num);
00046 void save_str(string &dst, const char *src, const int);
00047 
00048 bool is_keyword(string id, const string &keyword);
00049 
00061 int check_byte(const char *val);
00062 
00070 int check_int16(const char *val);
00071 int check_uint16(const char *val);
00072 int check_int32(const char *val);
00073 int check_uint32(const char *val);
00074 
00075 unsigned long long get_ull(const char *val);
00076 
00081 int check_float32(const char *val);
00082 int check_float64(const char *val);
00083 
00088 int check_url(const char *val);
00089 
00090 } // namespace libdap
00091 
00092 #endif /* PARSER_UTIL_H_ */