but once the calltip is shown it no longer respects the scope so well and it just shows all functions.
Yeah, calltips don't look at context AFAIK, only scope autocomplete does, for named scopes (ie classes, namespaces) only, it doesn't know about lexical scopes. And variable scope auto-completion only works for variables defined at top level, so its isn't very useful for modern C/C++.
The whole area could probably use a re-think instead of piling patches over patches, especially if @techee doubts it.