Implement an iterator for isl maps, basic_maps, sets, basic_sets
authorPhilip Pfaffe <philip.pfaffe@gmail.com>
Fri, 29 Jun 2018 08:17:03 +0000 (08:17 +0000)
committerPhilip Pfaffe <philip.pfaffe@gmail.com>
Fri, 29 Jun 2018 08:17:03 +0000 (08:17 +0000)
commit52025af1daa5ea6da680220c1c4a8eaf7ca8efe0
tree29825ddfb73d99957409cf22e801ee758fa8a6e3
parent8d081b78e4e929fa0bf3ea44d2ce41c64dc641c7
Implement an iterator for isl maps, basic_maps, sets, basic_sets

Summary:
Provide an iterator to simplify iteration over some isl collections.
Since these types do not natively support iteration, they have to be converted
to an list first by the caller, but can then be used in a ranged for loop:
```
isl::set S;
for (auto SubSet : S.get_basic_set_list ()) {
  // ...
}
```

Reviewers: bollu, Meinersbur, grosser, dexonsmith

Reviewed By: bollu

Subscribers: hfinkel, mgorny, Meinersbur, mehdi_amini, bollu, steven_wu, llvm-commits

Differential Revision: https://reviews.llvm.org/D48136

llvm-svn: 335951
polly/include/polly/Support/ISLTools.h
polly/unittests/CMakeLists.txt
polly/unittests/Support/CMakeLists.txt [new file with mode: 0644]
polly/unittests/Support/ISLTools.cpp [new file with mode: 0644]