Version: 9.16.0
dataParsers.cxx
Go to the documentation of this file.
1// Copyright (C) 2006-2026 CEA, EDF
2//
3// This library is free software; you can redistribute it and/or
4// modify it under the terms of the GNU Lesser General Public
5// License as published by the Free Software Foundation; either
6// version 2.1 of the License, or (at your option) any later version.
7//
8// This library is distributed in the hope that it will be useful,
9// but WITHOUT ANY WARRANTY; without even the implied warranty of
10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11// Lesser General Public License for more details.
12//
13// You should have received a copy of the GNU Lesser General Public
14// License along with this library; if not, write to the Free Software
15// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16//
17// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18//
19
20#include "dataParsers.hxx"
21#include "Cstr2d.hxx"
22#include <sstream>
23
24//#define _DEVDEBUG_
25#include "YacsTrace.hxx"
26
27namespace YACS
28{
29 stringtypeParser stringtypeParser::stringParser;
30 doubletypeParser doubletypeParser::doubleParser;
31 inttypeParser inttypeParser::intParser;
32 booltypeParser booltypeParser::boolParser;
33
35 {
36 return _content;
37 }
38
40 {
41 if(_content=="")return 0;
42 return Cstr2d(_content.c_str());
43// std::istringstream s(_content.c_str());
44// double a;
45// if (!(s >> a))
46// throw YACS::Exception::Exception("problem in conversion from string to double");
47// std::cerr << "--------------_content s a "<< _content.c_str() << " " << s.str() << " " << a << std::endl;
48// return a;
49 }
50
52 {
53 return atoi(_content.c_str());
54 }
55
57 {
59 if(_content == "true")return true;
60 if(_content == "false")return false;
61 std::stringstream temp(_content);
62 bool b ;
63 temp >> b;
64 //std::cerr << b << std::endl;
65 return b;
66 }
67
68}
double Cstr2d(const char *s)
replacement for atof witch does not work everywhere
Definition: Cstr2d.cxx:34
#define DEBTRACE(msg)
Definition: YacsTrace.hxx:31
static booltypeParser boolParser
Definition: dataParsers.hxx:63
static doubletypeParser doubleParser
Definition: dataParsers.hxx:43
static inttypeParser intParser
Definition: dataParsers.hxx:53
std::string _content
Definition: parserBase.hxx:97
static stringtypeParser stringParser
Definition: dataParsers.hxx:33