some compiler guard name change. Func renaming to BoxOverlap, and used std::swap in _Swap_ --kazu