aboutsummaryrefslogtreecommitdiff
path: root/xsde/cxx/hybrid
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2013-05-30 19:52:47 -0400
committerBoris Kolpackov <boris@codesynthesis.com>2013-05-30 19:52:47 -0400
commitd51837b9f0b0066a460e472033e682a385052635 (patch)
treef627edc1ed76cf43cfbc2334dffb9870e65bedd0 /xsde/cxx/hybrid
parent62ba9ea0f51b6ae6232a3eb7e71fcb9e84d6a1e5 (diff)
Get rid of dependency on Boost filesystem
Diffstat (limited to 'xsde/cxx/hybrid')
-rw-r--r--xsde/cxx/hybrid/aggregate-include.hxx5
-rw-r--r--xsde/cxx/hybrid/elements.cxx5
-rw-r--r--xsde/cxx/hybrid/generator.cxx103
3 files changed, 54 insertions, 59 deletions
diff --git a/xsde/cxx/hybrid/aggregate-include.hxx b/xsde/cxx/hybrid/aggregate-include.hxx
index 01ec3c9..fad7638 100644
--- a/xsde/cxx/hybrid/aggregate-include.hxx
+++ b/xsde/cxx/hybrid/aggregate-include.hxx
@@ -152,6 +152,7 @@ namespace CXX
schemas_.insert (s);
SemanticGraph::Path path (s->used_begin ()->path ());
+ path.normalize ();
// Try to use the portable representation of the path. If that
// fails, fall back to the native representation.
@@ -159,11 +160,11 @@ namespace CXX
NarrowString path_str;
try
{
- path_str = path.string ();
+ path_str = path.posix_string ();
}
catch (SemanticGraph::InvalidPath const&)
{
- path_str = path.native_file_string ();
+ path_str = path.string ();
}
String inc_path (hxx_expr->replace (path_str));
diff --git a/xsde/cxx/hybrid/elements.cxx b/xsde/cxx/hybrid/elements.cxx
index fe1e533..0f49311 100644
--- a/xsde/cxx/hybrid/elements.cxx
+++ b/xsde/cxx/hybrid/elements.cxx
@@ -592,6 +592,7 @@ namespace CXX
s.context ().count ("renamed")
? s.context ().get<SemanticGraph::Path> ("renamed")
: u.path ());
+ path.normalize ();
// Try to use the portable representation of the path. If that
// fails, fall back to the native representation.
@@ -599,11 +600,11 @@ namespace CXX
NarrowString path_str;
try
{
- path_str = path.string ();
+ path_str = path.posix_string ();
}
catch (SemanticGraph::InvalidPath const&)
{
- path_str = path.native_file_string ();
+ path_str = path.string ();
}
String inc_path;
diff --git a/xsde/cxx/hybrid/generator.cxx b/xsde/cxx/hybrid/generator.cxx
index eac7cf0..e2e0f71 100644
--- a/xsde/cxx/hybrid/generator.cxx
+++ b/xsde/cxx/hybrid/generator.cxx
@@ -3,10 +3,10 @@
// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <sstream>
+#include <algorithm>
#include <iostream>
-
-#include <boost/filesystem/fstream.hpp>
+#include <sstream>
+#include <fstream>
#include <cutl/re.hxx>
@@ -56,17 +56,9 @@ using namespace XSDFrontend::SemanticGraph;
//
//
-typedef
-boost::filesystem::wifstream
-WideInputFileStream;
-
-typedef
-boost::filesystem::wofstream
-WideOutputFileStream;
-
-typedef
-boost::filesystem::ifstream
-NarrowInputFileStream;
+typedef std::wifstream WideInputFileStream;
+typedef std::wofstream WideOutputFileStream;
+typedef std::ifstream NarrowInputFileStream;
namespace CXX
{
@@ -434,8 +426,9 @@ namespace CXX
{
try
{
- Path fs_path (path, boost::filesystem::native);
- ifs.open (fs_path, std::ios_base::in | std::ios_base::binary);
+ Path fs_path (path);
+ ifs.open (fs_path.string ().c_str (),
+ std::ios_base::in | std::ios_base::binary);
if (!ifs.is_open ())
{
@@ -569,7 +562,7 @@ namespace CXX
{
if (NarrowString name = ops.extern_xml_schema ())
{
- if (file_path.native_file_string () != name)
+ if (file_path.string () != name)
generate_xml_schema = false;
}
}
@@ -595,7 +588,7 @@ namespace CXX
bool forward (ops.generate_forward () && !generate_xml_schema);
bool source (!generate_xml_schema);
- NarrowString name (file_path.leaf ());
+ NarrowString name (file_path.leaf ().string ());
NarrowString hxx_suffix (ops.hxx_suffix ());
NarrowString ixx_suffix (ops.ixx_suffix ());
@@ -663,10 +656,10 @@ namespace CXX
NarrowString cxx_name (source ? cxx_expr.replace (name) : NarrowString ());
NarrowString fwd_name (forward ? fwd_expr.replace (name) : NarrowString ());
- Path hxx_path (hxx_name, boost::filesystem::native);
- Path ixx_path (ixx_name, boost::filesystem::native);
- Path cxx_path (cxx_name, boost::filesystem::native);
- Path fwd_path (fwd_name, boost::filesystem::native);
+ Path hxx_path (hxx_name);
+ Path ixx_path (ixx_name);
+ Path cxx_path (cxx_name);
+ Path fwd_path (fwd_name);
Path out_dir;
@@ -674,7 +667,7 @@ namespace CXX
{
try
{
- out_dir = Path (dir, boost::filesystem::native);
+ out_dir = Path (dir);
}
catch (InvalidPath const&)
{
@@ -689,7 +682,7 @@ namespace CXX
// unless the user added the directory so that we propagate this
// to the output files.
//
- Path fpt_dir (file_path.branch_path ());
+ Path fpt_dir (file_path.directory ());
if (!fpt_dir.empty ())
out_dir /= fpt_dir;
@@ -705,7 +698,7 @@ namespace CXX
// Open the tree files.
//
- WideOutputFileStream hxx (hxx_path, ios_base::out);
+ WideOutputFileStream hxx (hxx_path.string ().c_str (), ios_base::out);
WideOutputFileStream ixx;
WideOutputFileStream cxx;
WideOutputFileStream fwd;
@@ -714,7 +707,7 @@ namespace CXX
//
if (forward)
{
- fwd.open (fwd_path, ios_base::out);
+ fwd.open (fwd_path.string ().c_str (), ios_base::out);
if (!fwd.is_open ())
{
@@ -723,7 +716,7 @@ namespace CXX
}
unlinks.add (fwd_path);
- file_list.push_back (fwd_path.native_file_string ());
+ file_list.push_back (fwd_path.string ());
}
if (!hxx.is_open ())
@@ -733,11 +726,11 @@ namespace CXX
}
unlinks.add (hxx_path);
- file_list.push_back (hxx_path.native_file_string ());
+ file_list.push_back (hxx_path.string ());
if (inline_)
{
- ixx.open (ixx_path, ios_base::out);
+ ixx.open (ixx_path.string ().c_str (), ios_base::out);
if (!ixx.is_open ())
{
@@ -746,12 +739,12 @@ namespace CXX
}
unlinks.add (ixx_path);
- file_list.push_back (ixx_path.native_file_string ());
+ file_list.push_back (ixx_path.string ());
}
if (source)
{
- cxx.open (cxx_path, ios_base::out);
+ cxx.open (cxx_path.string ().c_str (), ios_base::out);
if (!cxx.is_open ())
{
@@ -760,7 +753,7 @@ namespace CXX
}
unlinks.add (cxx_path);
- file_list.push_back (cxx_path.native_file_string ());
+ file_list.push_back (cxx_path.string ());
}
// Print copyright and license.
@@ -811,7 +804,7 @@ namespace CXX
NarrowString guard_prefix (ops.guard_prefix ());
if (!guard_prefix)
- guard_prefix = file_path.branch_path ().native_directory_string ();
+ guard_prefix = file_path.directory ().string ();
if (guard_prefix)
guard_prefix += '_';
@@ -1310,7 +1303,7 @@ namespace CXX
{
if (NarrowString name = ops.extern_xml_schema ())
{
- if (file_path.native_file_string () != name)
+ if (file_path.string () != name)
gen_xml_schema = false;
}
}
@@ -1328,7 +1321,7 @@ namespace CXX
throw Failed ();
}
- NarrowString name (file_path.leaf ());
+ NarrowString name (file_path.leaf ().string ());
NarrowString skel_suffix (ops.pskel_file_suffix ());
NarrowString impl_suffix (ops.pimpl_file_suffix ());
@@ -1387,8 +1380,8 @@ namespace CXX
NarrowString hxx_name (hxx_expr.replace (name));
NarrowString cxx_name (cxx_expr.replace (name));
- Path hxx_path (hxx_name, boost::filesystem::native);
- Path cxx_path (cxx_name, boost::filesystem::native);
+ Path hxx_path (hxx_name);
+ Path cxx_path (cxx_name);
Path out_dir;
@@ -1396,7 +1389,7 @@ namespace CXX
{
try
{
- out_dir = Path (dir, boost::filesystem::native);
+ out_dir = Path (dir);
}
catch (InvalidPath const&)
{
@@ -1411,7 +1404,7 @@ namespace CXX
// unless the user added the directory so that we propagate this
// to the output files.
//
- Path fpt_dir (file_path.branch_path ());
+ Path fpt_dir (file_path.directory ());
if (!fpt_dir.empty ())
out_dir /= fpt_dir;
@@ -1423,8 +1416,8 @@ namespace CXX
cxx_path = out_dir / cxx_path;
}
- WideOutputFileStream hxx (hxx_path, ios_base::out);
- WideOutputFileStream cxx (cxx_path, ios_base::out);
+ WideOutputFileStream hxx (hxx_path.string ().c_str (), ios_base::out);
+ WideOutputFileStream cxx (cxx_path.string ().c_str (), ios_base::out);
if (!hxx.is_open ())
{
@@ -1433,7 +1426,7 @@ namespace CXX
}
unlinks.add (hxx_path);
- file_list.push_back (hxx_path.native_file_string ());
+ file_list.push_back (hxx_path.string ());
if (!cxx.is_open ())
{
@@ -1442,7 +1435,7 @@ namespace CXX
}
unlinks.add (cxx_path);
- file_list.push_back (cxx_path.native_file_string ());
+ file_list.push_back (cxx_path.string ());
// Print copyright and license.
//
@@ -1484,7 +1477,7 @@ namespace CXX
NarrowString guard_prefix (ops.guard_prefix ());
if (!guard_prefix)
- guard_prefix = file_path.branch_path ().native_directory_string ();
+ guard_prefix = file_path.directory ().string ();
if (guard_prefix)
guard_prefix += '_';
@@ -1696,7 +1689,7 @@ namespace CXX
{
if (NarrowString name = ops.extern_xml_schema ())
{
- if (file_path.native_file_string () != name)
+ if (file_path.string () != name)
gen_xml_schema = false;
}
}
@@ -1714,7 +1707,7 @@ namespace CXX
throw Failed ();
}
- NarrowString name (file_path.leaf ());
+ NarrowString name (file_path.leaf ().string ());
NarrowString skel_suffix (ops.sskel_file_suffix ());
NarrowString impl_suffix (ops.simpl_file_suffix ());
@@ -1773,8 +1766,8 @@ namespace CXX
NarrowString hxx_name (hxx_expr.replace (name));
NarrowString cxx_name (cxx_expr.replace (name));
- Path hxx_path (hxx_name, boost::filesystem::native);
- Path cxx_path (cxx_name, boost::filesystem::native);
+ Path hxx_path (hxx_name);
+ Path cxx_path (cxx_name);
Path out_dir;
@@ -1782,7 +1775,7 @@ namespace CXX
{
try
{
- out_dir = Path (dir, boost::filesystem::native);
+ out_dir = Path (dir);
}
catch (InvalidPath const&)
{
@@ -1797,7 +1790,7 @@ namespace CXX
// unless the user added the directory so that we propagate this
// to the output files.
//
- Path fpt_dir (file_path.branch_path ());
+ Path fpt_dir (file_path.directory ());
if (!fpt_dir.empty ())
out_dir /= fpt_dir;
@@ -1809,8 +1802,8 @@ namespace CXX
cxx_path = out_dir / cxx_path;
}
- WideOutputFileStream hxx (hxx_path, ios_base::out);
- WideOutputFileStream cxx (cxx_path, ios_base::out);
+ WideOutputFileStream hxx (hxx_path.string ().c_str (), ios_base::out);
+ WideOutputFileStream cxx (cxx_path.string ().c_str (), ios_base::out);
if (!hxx.is_open ())
{
@@ -1819,7 +1812,7 @@ namespace CXX
}
unlinks.add (hxx_path);
- file_list.push_back (hxx_path.native_file_string ());
+ file_list.push_back (hxx_path.string ());
if (!cxx.is_open ())
{
@@ -1828,7 +1821,7 @@ namespace CXX
}
unlinks.add (cxx_path);
- file_list.push_back (cxx_path.native_file_string ());
+ file_list.push_back (cxx_path.string ());
// Print copyright and license.
//
@@ -1870,7 +1863,7 @@ namespace CXX
NarrowString guard_prefix (ops.guard_prefix ());
if (!guard_prefix)
- guard_prefix = file_path.branch_path ().native_directory_string ();
+ guard_prefix = file_path.directory ().string ();
if (guard_prefix)
guard_prefix += '_';