Мне нужно использовать строку в качестве идентификатора для получения некоторого объекта. При реализации это во время выполнения и работает хорошо. Но это делает невозможным, по очевидным причинам, проверку статического типа.
Я искал алгоритм для вычисления хэш-суммы строки во время компиляции: Хеширование строки компиляции С++ с помощью Boost.MPL.
Кажется, это идеальное решение для моей проблемы, за исключением того, что sring, который необходим алгоритму, должен быть разделен на куски на 4 символа или посимвольно по понятным причинам.
i.e., вместо обычной текущей записи идентификаторов, мне придется написать так:
hash_cstring<boost::mpl::string<'obje', 'ct.m', 'etho', 'd'>>::value
Это абсолютно непригодно.
Вопрос в том, как правильно передать строку, такую как "object.method"
, этому алгоритму?
Спасибо всем.