Explanation of implementation of an algorithm for Dominating Set I'm working on an application, in which users can use domination in graphs. I have already finished up with graph generation algorithm, I use lists to store vertices...
So, I have found a well developed, gorgeous implementation of the needed algorithm.

It is a bit complicated for me, I would like to ask for some description for code above. How is it working? I would like to get only a short summary.
This algorithm just tries every subset of the vertices and calculates whether it is a dominating set.  It tries the subsets in increasing order of size, and halts whenever it finds one.

Note that the running time is $O(2^n n)$ so it is exponential, and quite badly so.  There are faster algorithms that compute dominating sets in $O^*(1.7^n)$ or even $O^*(1.5^n)$ time, but I don't recall whether they are implementable.

By the way, dominating set, being W[2]-complete, is not expected to have an algorithm running in time $f(k) \cdot \text{poly}(n)$ for any function $f$ where $k$ is the size of a minimum dominating set.