diff --git a/libcorpus2/tokenmetadata.cpp b/libcorpus2/tokenmetadata.cpp index c41f769c65ac33e5af87f5ae4db1f4cbad95e9a1..88ae6deaa9c168bb3828870455f7b17d0a93083d 100644 --- a/libcorpus2/tokenmetadata.cpp +++ b/libcorpus2/tokenmetadata.cpp @@ -24,9 +24,9 @@ TokenMetaData::TokenMetaData() { } -TokenMetaData* TokenMetaData::clone() const +boost::shared_ptr<TokenMetaData> TokenMetaData::clone() const { - return new TokenMetaData(*this); + return boost::make_shared<TokenMetaData>(*this); } bool TokenMetaData::has_attribute(const std::string &name) const diff --git a/libcorpus2/tokenmetadata.h b/libcorpus2/tokenmetadata.h index 6d1c6444c23173ea28dc6f1530aefb93eaa41bbb..fb367a6c512c5ad7d79854c192650589517dab5d 100644 --- a/libcorpus2/tokenmetadata.h +++ b/libcorpus2/tokenmetadata.h @@ -30,7 +30,7 @@ class TokenMetaData public: TokenMetaData(); - TokenMetaData* clone() const; + boost::shared_ptr<TokenMetaData> clone() const; typedef std::map<std::string, std::string> attr_map_t;