maxitg / SetReplace

C++/Wolfram Language package for exploring set and graph rewriting systems
MIT License
219 stars 44 forks source link

Managed Expressions #588

Closed aokellermann closed 3 years ago

aokellermann commented 3 years ago

Changes

Examples

To verify release is actually working (and not just releasing at program exit):

void setManageInstance([[maybe_unused]] WolframLibraryData libData, mbool mode, mint id) {
  std::string time = std::to_string(std::time(nullptr));
  if (mode == 0) {
    sets_.emplace(id, nullptr);
    std::system((std::string("echo \"create ") + time + "\" >> /tmp/sr").c_str());
  } else {
    sets_.erase(id);
    std::system((std::string("echo \"delete ") + time + "\" >> /tmp/sr").c_str());
  }
}
$ ./test.wls eventDeduplication && cat /tmp/sr
create 1609878542
delete 1609878542
create 1609878542
delete 1609878542
create 1609878542
delete 1609878542
...
create 1609878566
delete 1609878566
create 1609878566
delete 1609878566
create 1609878566
delete 1609878566

This change is Reviewable

aokellermann commented 3 years ago

@daneelsan I'm not sure why but your comments aren't showing up in reviewable for me...

Should [[maybe_unused]] be removed here?

Done.