guard macros: _HH -> _HPP