Inserted whitespace between < and :: on line 42 for older GCC compatibility.
Added lcov flag to enable branch coverage (which is disabled by default in new versions of lcov).