From 6f5e742482eadf055c18bdbe4082450d3161edef Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 30 May 2013 19:54:24 -0400 Subject: Get rid of dependency on Boost filesystem --- xsd/xsd.hxx | 52 +++------------------------------------------------- 1 file changed, 3 insertions(+), 49 deletions(-) (limited to 'xsd/xsd.hxx') diff --git a/xsd/xsd.hxx b/xsd/xsd.hxx index 43f38ea..83bfdfd 100644 --- a/xsd/xsd.hxx +++ b/xsd/xsd.hxx @@ -11,6 +11,7 @@ #include // std::remove #include +#include #include // Path @@ -19,54 +20,7 @@ typedef std::set WarningSet; typedef std::vector FileList; -// -// -struct AutoUnlink -{ - AutoUnlink (XSDFrontend::SemanticGraph::Path const& file) - : file_ (file), canceled_ (false) - { - } - - ~AutoUnlink () - { - if (!canceled_) - std::remove (file_.native_file_string ().c_str ()); - } - - void - cancel () - { - canceled_ = true; - } - -private: - XSDFrontend::SemanticGraph::Path file_; - bool canceled_; -}; - -// -// -struct AutoUnlinks -{ - void - add (XSDFrontend::SemanticGraph::Path const& file) - { - unlinks_.push_back( - cutl::shared_ptr ( - new (shared) AutoUnlink (file))); - } - - void - cancel () - { - for (Unlinks::iterator i (unlinks_.begin ()); i != unlinks_.end (); ++i) - (*i)->cancel (); - } - -private: - typedef std::vector > Unlinks; - Unlinks unlinks_; -}; +typedef cutl::fs::auto_remove AutoUnlink; +typedef cutl::fs::auto_removes AutoUnlinks; #endif // XSD_HXX -- cgit v1.1