E-MailRelay

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

gconvert_none.cpp
Go to the documentation of this file.
1 //
2 // Copyright (C) 2001-2018 Graeme Walker <graeme_walker@users.sourceforge.net>
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 // ===
17 //
18 // gconvert_none.cpp
19 //
20
21 #include "gdef.h"
22 #include "gconvert.h"
23 #include "glog.h"
24
25 namespace
26 {
27 void warn_if( bool b )
28 {
29 static bool warned = false ;
30 if( b && !warned )
31 {
32 G_WARNING( "G::Convert::convert: no iconv library built in: character set conversions will be incorrect" ) ;
33 warned = true ;
34 }
35 }
36 }
37
38 std::wstring G::Convert::widen( const std::string & s , bool utf8 , const std::string & /*context*/ )
39 {
40 warn_if( utf8 ) ;
41 std::wstring result ;
42 for( std::string::const_iterator p = s.begin() ; p != s.end() ; ++p )
43 result.append( 1U , static_cast<wchar_t>(*p) ) ;
44 return result ;
45 }
46
47 std::string G::Convert::narrow( const std::wstring & s , bool utf8 , const std::string & /*context*/ )
48 {
49 warn_if( utf8 ) ;
50 std::string result ;
51 for( std::wstring::const_iterator p = s.begin() ; p != s.end() ; ++p )
52 result.append( 1U , static_cast<char>(*p) ) ;
53 return result ;
54 }
55
56 /// \file gconvert_none.cpp
glog.h
gconvert.h