VideoTools
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
gconvert_none.cpp
Go to the documentation of this file.
1 //
2 // Copyright (C) 2017 Graeme Walker
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 "gstr.h"
24 #include "glog.h"
25 #include "gassert.h"
26 #include <algorithm>
27 #include <iterator>
28 
29 std::wstring G::Convert::widen( const std::string & s , bool utf8 , const std::string & context )
30 {
31  std::wstring result ;
32  for( std::string::const_iterator p = s.begin() ; p != s.end() ; ++p )
33  result.append( 1U , static_cast<wchar_t>(*p) ) ;
34  return result ;
35 }
36 
37 std::string G::Convert::narrow( const std::wstring & s , bool utf8 , const std::string & context )
38 {
39  std::string result ;
40  for( std::wstring::const_iterator p = s.begin() ; p != s.end() ; ++p )
41  result.append( 1U , static_cast<char>(*p) ) ;
42  return result ;
43 }
44 
45 /// \file gconvert_none.cpp