add inline keyword

 - enable use as a header-only library in multiple translation units