use more efficient emptiness checking

Using empty() instead of size() can be faster. size() can take linear time but empty() is guaranteed to take constant time.

Issue(s) found via [cppcheck](http://cppcheck.sourceforge.net/).