From 9c1952cd1f53b5d91636a158b7d026161c83d963 Mon Sep 17 00:00:00 2001 From: Duy-Nguyen Ta Date: Wed, 27 Apr 2016 02:04:16 -0400 Subject: [PATCH] make it compile with gcc 4.9 (ubuntu). perhaps because fstream can't be passed around by value: http://stackoverflow.com/questions/12432952/why-is-my-fstream-being-implicitly-deleted --- gtsam_unstable/linear/QPSParser.cpp | 2 ++ gtsam_unstable/linear/QPSParser.h | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gtsam_unstable/linear/QPSParser.cpp b/gtsam_unstable/linear/QPSParser.cpp index 8bf81a111..331081126 100644 --- a/gtsam_unstable/linear/QPSParser.cpp +++ b/gtsam_unstable/linear/QPSParser.cpp @@ -129,6 +129,8 @@ struct QPSParser::MPSGrammar: base_grammar { QP QPSParser::Parse() { RawQP rawData; + std::fstream stream(fileName_.c_str()); + stream.unsetf(std::ios::skipws); boost::spirit::basic_istream_iterator begin(stream); boost::spirit::basic_istream_iterator last; diff --git a/gtsam_unstable/linear/QPSParser.h b/gtsam_unstable/linear/QPSParser.h index 9cb795b3c..6e8b8164b 100644 --- a/gtsam_unstable/linear/QPSParser.h +++ b/gtsam_unstable/linear/QPSParser.h @@ -17,13 +17,12 @@ namespace gtsam { class QPSParser { private: - std::fstream stream; + std::string fileName_; struct MPSGrammar; public: QPSParser(const std::string& fileName) : - stream(findExampleDataFile(fileName).c_str()) { - stream.unsetf(std::ios::skipws); + fileName_(findExampleDataFile(fileName)) { } QP Parse();