std::any - почему так мало операторов?
Я смотрю на использование std::any для стирания типов как части интерфейса, который я создаю, и мне остается удивляться, почему в нем так мало операторов, как "+", "==". Я возился с Coliru здесь, где я расширил std::any для суммирования и печати в ostream. Это только для тех, кто держит double сейчас, но концепция работает, это всего лишь реализация, которую необходимо выполнить для поддержки всех основных числовых типов данных (если lhs и rhs одинакового типа для операндов).
Учитывая, что я смог расширить что-либо подобное за это короткое время, почему реализация stl так ограничена, когда дело доходит до операндов?
Любые мысли приветствуются.
1 ответ
Потому что в полной общности (что к чему std::any
стремится) эти операторы не имеют смысла. Что касается ваших конкретных примеров;
+
: Бессмысленно для объектов, подобных дате.
==
: Бессмысленно для объектов только для записи.