keys が vector じゃなくてもいいなら
IEnumeratorとインデクサを実装した KeyCollection とか定義してkeysで、
それを返せばいいんじゃない?