These iterators allow to use C++ range-based for loops to enumerate the
elements in an isl list. They can be used to enumerate e.g. the sets in
a union set:
for (isl::set Set : USet.get_set_list()) { Set.dump(); }
Use this implementation to replace the use of foreach + lambda with
easier readable range-based for loops.
[serious] basic_set_list::get_basic_set etc. use the type int for indices, not long.
[suggestion] Pass by const & could safe a reference counter increment and decrement.
[style] This does not look like LLVM's naming style.