Информация об изменениях

Сообщение Re: Кому компил-тайма отсыпать? от 27.04.2025 6:49

Изменено 27.04.2025 7:04 rg45

Re: Кому компил-тайма отсыпать?
Здравствуйте, Shmj, Вы писали:

S>Вот вам парсер-калькулятор строк в компил-тайме, все как вы любите:


Продолжаешь демонстрировать глупость.

S>И вопрос — как такое отлаживать по шагам?


Нет, первый вопрос не этот. Первый вопрос — какие задачи решает данный инструмент. И если на этот вопрос имеется ответ, то второй вопрос отправляется отдыхать, как дурацкий. Как отладить и покрыть тестами тот или иной инструмент, всегда можно найти способы. Поэлементно, как же ещё.
Re: Кому компил-тайма отсыпать?
Здравствуйте, Shmj, Вы писали:

S>Вот вам парсер-калькулятор строк в компил-тайме, все как вы любите:


Продолжаешь демонстрировать глупость.

S>И вопрос — как такое отлаживать по шагам?


Нет, первый вопрос не этот. Первый вопрос — какие задачи решает данный инструмент. И если на этот вопрос имеется ответ, то второй вопрос отправляется отдыхать, как дурацкий. Как отладить и покрыть тестами тот или иной инструмент, всегда можно найти способы. Поэлементно, как же ещё.

P.S. А вообще, чувствуется дрожащая рука чайника. Можно было и проще, и надежнее. Простой пример, следовало бы написать вот так:

template<ValidExpr Lit>
struct calc {
   /* . . . */
};

//---------------------------------------------------------------------
// 6.  Утилита-alias для SFINAE-френдли value-типа
//---------------------------------------------------------------------

template<ValidExpr Lit>
using calc_v = std::integral_constant<unsigned long long, calc<Lit>::value>;


А у него calc_v никак не защищен. И при ошибках юзверя компилер будет тыкать в "плохой" calc_v, а не юзверю в его говно.