[12:43:48] <TRUE> кто "они"?
[13:01:56] <_valexey_> TRUE: машины
[13:02:23] <TRUE> любые, где есть эта делфи?
[13:03:31] <_valexey_> Нет. Я просто сказал зачем чаще всего этот радар юзают. Так то он годен и для более других задач.
[13:18:01] <_valexey_> Если посмотрите на яндепс.машинку в последнем видео, то увидете, что там этих радаров несколько.
[13:18:50] <Kemet> чё за хрень?
if(!(*this)[base_type::size() - 2]((*this)[base_type::size() - 1]))
[13:19:45] <_valexey_> А какой тип?
[13:20:13] <_valexey_> Но можно было написать так:
[13:21:38] <_valexey_> !(this->operator [](base_type::size()-2))
[13:21:55] <_valexey_> Ну и далее по тексту :-)
[13:25:17] <Kemet> я нифига не понял что оно делает(
[13:25:42] <Kemet> то, что оператор[] это понятно
[13:26:25] <_valexey_> Тогда я не понял что тебе тут не понятно :-)
[13:27:35] <_valexey_> Проверяется последний и предпоследний элемент
[13:27:55] <Kemet> на что проверяются
[13:30:04] <_valexey_> На не ноль
[13:30:12] <_valexey_> Точнее на ноль
[13:31:15] <TRUE> ver
[13:31:18] <TRUE> !ver
[13:31:38] <Kemet> там два элемента, между ними никакого оператора, как оно проверят на ноль, тем более там структуры лежат
[13:31:50] <TRUE> какие у бота команды?
[13:32:31] <Kemet> version
[13:32:32] <Жаба> Kemet,  you have Instantbird 1.5 (libpurple 2.10.7) on
[13:32:42] <Kemet> help
[13:32:48] <TRUE> спасибо
[13:32:51] <TRUE> version
[13:32:52] <Жаба> TRUE,  you have Psi 0.15 on Windows 7
[13:33:04] <TRUE> version _valexey_
[13:33:14] <Жаба> TRUE, _valexey_ have Talkonaut 5.95 on iPhone 7.1.2
[13:33:40] <TRUE> седьмой яфон прикупил?
[13:33:53] <_valexey_> Kemet: там и число скобочек не сходится
[13:34:11] <_valexey_> TRUE:нет. Это ось 7
[13:34:21] <_valexey_> Древняя
[13:36:46] <TRUE> эта конструкция похожа на вызов функции. У неё вид
if (!f(var))
[13:53:55] <valexey> со скобочками. кстати, всё ок
[13:54:33] <valexey> да, такое ощущение, что это массив функций, точнеее функторов (в том смысле в котором они в С++, а не в функане и хаскелле).
[13:54:55] <valexey> и сии функторы принимают в качестве аргументов себе подобных
[13:55:07] <valexey> функции высшего порядка, короче :-)
[13:55:28] <valexey> предпоследний ест последнего
[15:45:06] <Kemet> valexey: полностью оно так выглядит
   template<class T, unsigned S>
   void vertex_sequence<T, S>::add(const T& val)
   {
       if(base_type::size() > 1)
       {
           if(!(*this)[base_type::size() - 2]((*this)[base_type::size() - 1]))
           {
               base_type::remove_last();
           }
       }
       base_type::add(val);
   }
[15:46:20] <Kemet> TRUE: хочешь сказать, что у структуры или класса  там в массиве есть оператор ()?
[15:46:37] <valexey> должен быть
[15:47:09] <valexey> http://svn.effbot.org/public/tags/aggdraw-1.2a3-20060212/agg2/include/agg_vertex_sequence.h
[15:47:13] <valexey> Оно?
[15:48:21] <Kemet> да, чтото такое
[15:49:10] <Kemet> valexey: ну в общем да, есть там оператор ()
[15:49:18] <Kemet> мерсский язык
[15:50:49] <valexey> чойто? отличный язык. всё понятно
[15:55:33] <TRUE> ога, как же.
[18:57:39] <vlad2> Да, прикольный код, как раз обероншиков пугать.
[18:57:46] <vlad2> А ведь можно было и нормально написать.
[18:59:00] <vlad2> auto& self = *this;
auto i = base_type::size() - 2;
if (!self[i](self[i + 1])
[18:59:43] <vlad2> Еще лучше наименовать нормально "i", self[i] и self[i + 1]
[19:16:52] <valexey> auto низя
[19:16:56] <valexey> тогда еще с++11 не было
[19:17:06] <valexey> ну и отрефакторить автор уже ничего не может, так как умер
[19:25:01] <vlad2> Ну там можно и без авто нормально сделать.
[19:28:59] <valexey> та оно и так норм тащемто
[21:45:37] <valexey> https://www.youtube.com/watch?v=7hUut7Hsgys