Я пытаюсь написать общую реализацию C ++ для B + Tree. Моя проблема связана с тем, что в B + Tree есть два вида узлов; внутренние узлы, которые содержат ключи и указатели на дочерние узлы, и конечные узлы, которые содержат ключи и значения, и указатели во внутреннем узле могут указывать либо на другие внутренние узлы, либо на конечные узлы.
Я не могу понять, как смоделировать такие отношения с помощью шаблонов (я не хочу использовать приведения или виртуальные классы).
Надеюсь, что есть решение моей проблемы или лучший способ реализовать B + Tree в C ++.