diff --git a/libwccl/sentencecontext.cpp b/libwccl/sentencecontext.cpp index def13b52730ac221a8c18a20228305f374dcd131..9fd4b6f3592a7676ee2d05e9a4c2db7501c7dcbc 100644 --- a/libwccl/sentencecontext.cpp +++ b/libwccl/sentencecontext.cpp @@ -10,7 +10,7 @@ SentenceContext::SentenceContext(const boost::shared_ptr<Corpus2::Sentence>& s) SentenceContext SentenceContext::duplicate() const { SentenceContext dup(*this); - dup.sentence_.reset(sentence_->clone()); + dup.sentence_ = sentence_->clone_shared(); return dup; } diff --git a/tests/datadriven.cpp b/tests/datadriven.cpp index 142ba205e333210e07756f6de0ea4d71d04f9278..3b2f2763f0dd3df73526458da258364f330c3fce 100644 --- a/tests/datadriven.cpp +++ b/tests/datadriven.cpp @@ -66,7 +66,7 @@ void test_one_item_actual(const compare_test& c) if (!sentence_filename.empty()) { path sentence_fullpath = c.search_path / sentence_filename; Corpus2::XcesReader reader(tagset, sentence_fullpath.string()); - sentence.reset(reader.get_next_sentence()); + sentence = reader.get_next_sentence(); BOOST_REQUIRE(sentence); } else { diff --git a/wcclparser/main.cpp b/wcclparser/main.cpp index cd00f57417d75e599740c1ae907d9655ac2c86c0..4403c1acd7f14d590dca868f4439938a804a3404 100644 --- a/wcclparser/main.cpp +++ b/wcclparser/main.cpp @@ -8,6 +8,7 @@ #include <libcorpus2/tagsetmanager.h> #include <boost/bind.hpp> +#include <boost/make_shared.hpp> #include <boost/program_options.hpp> #include <libcorpus2/io/xcesreader.h> @@ -209,13 +210,13 @@ int main(int argc, char** argv) const Corpus2::Tagset& tagset = Corpus2::get_named_tagset(tagset_load); boost::shared_ptr<Corpus2::Sentence> sentence; if (sentence_load.empty()) { - sentence.reset(new Corpus2::Sentence); + sentence = boost::make_shared<Corpus2::Sentence>(); sentence->append(new Corpus2::Token("", PwrNlp::Whitespace::ManySpaces)); } else { std::ifstream ifs(sentence_load.c_str()); if (ifs.good()) { Corpus2::XcesReader reader(tagset, ifs, false); - sentence.reset(reader.get_next_sentence()); + sentence = reader.get_next_sentence(); std::cerr << "Sentence loaded, " << sentence->size() << " tokens.\n"; } else {