tket
tket copied to clipboard
Use rule of zero wherever possible. Add move semantics otherwise.
We currently ignore the existence of move semantics in bubble. That might be having an impact on performance (probably hard to quantify though).
With modern C++, most classes should be able to get by without managing any memory themselves. These classes should follow the rule of zero. If specific memory manipulations are necessary, there should be dedicated classes for that purpose and they should follow the rule of five.
Note: I don't know what the status is for the BGL. Copying graph can invalidate references to vertices etc., so one should think of an elegant solution to this problem if we want to follow the rule of 0.