aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/c/checkpoint_reader.cc
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2017-10-05 03:46:13 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2017-10-05 03:49:51 -0700
commit220515bffdf1df5379a7f8921f5a12deb2e0dee7 (patch)
tree7bace952b5ff55d3eaa62ec4153fc28d3d28bc1d /tensorflow/c/checkpoint_reader.cc
parentf6b15b08bbedc500549b0793b236bc90289d07dc (diff)
Replace owning raw pointers with unique pointers
PiperOrigin-RevId: 171132628
Diffstat (limited to 'tensorflow/c/checkpoint_reader.cc')
-rw-r--r--tensorflow/c/checkpoint_reader.cc26
1 files changed, 10 insertions, 16 deletions
diff --git a/tensorflow/c/checkpoint_reader.cc b/tensorflow/c/checkpoint_reader.cc
index e7b9bca5b5..fc86e92f3b 100644
--- a/tensorflow/c/checkpoint_reader.cc
+++ b/tensorflow/c/checkpoint_reader.cc
@@ -24,7 +24,6 @@ limitations under the License.
#include "tensorflow/core/util/saved_tensor_slice_util.h"
namespace tensorflow {
-
namespace checkpoint {
class TensorSliceReader;
@@ -37,30 +36,24 @@ CheckpointReader::CheckpointReader(const string& filename,
std::vector<string> v2_path;
if (Env::Default()->GetMatchingPaths(MetaFilename(filename), &v2_path).ok() &&
!v2_path.empty()) {
- v2_reader_ =
- new BundleReader(Env::Default(), filename /* prefix to a V2 ckpt */);
+ v2_reader_.reset(
+ new BundleReader(Env::Default(), filename /* prefix to a V2 ckpt */));
if (!v2_reader_->status().ok()) {
Set_TF_Status_from_Status(out_status, v2_reader_->status());
return;
}
var_to_shape_map_ptr_ = BuildV2VarToShapeMap();
} else {
- reader_ = new TensorSliceReader(filename);
+ reader_.reset(new TensorSliceReader(filename));
if (!reader_->status().ok()) {
Set_TF_Status_from_Status(out_status, reader_->status());
return;
}
- var_to_shape_map_ptr_ =
- new TensorSliceReader::VarToShapeMap(reader_->GetVariableToShapeMap());
+ var_to_shape_map_ptr_.reset(
+ new TensorSliceReader::VarToShapeMap(reader_->GetVariableToShapeMap()));
}
}
-CheckpointReader::~CheckpointReader() {
- delete var_to_shape_map_ptr_;
- delete reader_;
- delete v2_reader_;
-}
-
bool CheckpointReader::HasTensor(const string& name) const {
if (reader_ != nullptr) {
return reader_->HasTensor(name, nullptr, nullptr);
@@ -100,7 +93,8 @@ void CheckpointReader::GetTensor(
}
}
-TensorSliceReader::VarToShapeMap* CheckpointReader::BuildV2VarToShapeMap() {
+std::unique_ptr<TensorSliceReader::VarToShapeMap>
+CheckpointReader::BuildV2VarToShapeMap() {
CHECK(v2_reader_ != nullptr);
CHECK(v2_reader_->status().ok());
@@ -123,8 +117,8 @@ TensorSliceReader::VarToShapeMap* CheckpointReader::BuildV2VarToShapeMap() {
}
// Second pass: adds the entries, ignoring the filtered keys.
- TensorSliceReader::VarToShapeMap* var_to_shape_map =
- new TensorSliceReader::VarToShapeMap;
+ std::unique_ptr<TensorSliceReader::VarToShapeMap> var_to_shape_map(
+ new TensorSliceReader::VarToShapeMap);
v2_reader_->Seek(kHeaderEntryKey);
for (v2_reader_->Next(); v2_reader_->Valid(); v2_reader_->Next()) {
if (filtered_keys.count(v2_reader_->key().ToString()) > 0) continue;
@@ -134,7 +128,7 @@ TensorSliceReader::VarToShapeMap* CheckpointReader::BuildV2VarToShapeMap() {
(*var_to_shape_map)[v2_reader_->key().ToString()] =
TensorShape(entry.shape());
}
- return var_to_shape_map; // Owned by caller.
+ return var_to_shape_map;
}
} // namespace checkpoint