I know that inline is only a hint (and is probably ignored), but this seems pretty chunky for an inline method.  Should it even be in the header (rather than in the .cpp)?