Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

neilisaac / torch   python

Repository URL to install this package:

Version: 1.8.0 

/ include / torch / csrc / jit / resource_guard.h

#pragma once
#include <functional>

namespace torch {
namespace jit {

class ResourceGuard {
  std::function<void()> _destructor;
  bool _released;

 public:
  ResourceGuard(std::function<void()> destructor)
      : _destructor(std::move(destructor)), _released(false) {}

  ~ResourceGuard() {
    if (!_released)
      _destructor();
  }

  void release() {
    _released = true;
  }
};

} // namespace jit
} // namespace torch