Ковыряю тут сорцы постгреса, и нарвался на реализацию типа numeric (он же decimal). Сабж, каждая цифра хранится в int16. По здравому размышлению – логично: делать арифметику сразу на группах по 4 цифры эффективнее, чем на каждой десятичной цифре отдельно.
Тыц / Possible implementation: зачем нужны оба test_pre_is_base_of()? Сначала не понял про первый, тупо закомментил его – и вроде всё работает. Потом заинлайнил второй – и опять работает:
namespace details {
template <typename B> std::true_type test_pre_ptr_convertible(const volatile B*);
template <typename> std::false_type test_pre_ptr_convertible(const volatile void*);
}
template <typename Base, typename Derived> struct is_base_of : std::integral_constant<
bool,
std::is_class<Base>::value &&
std::is_class<Derived>::value &&
decltype(details::test_pre_ptr_convertible<Base>(static_cast<Derived*>(nullptr)))::value
> {};
class A {};
class B {};
class D : public B {};
static_assert(is_base_of<B, D>::value);
static_assert(!is_base_of<A, D>::value);
static_assert(!is_base_of<int, bool>::value);
class C {
...
// Специализации ниже, вне класса.
template<class T> void fOne(T x);
// - Не-шаблонный метод с пустым списком параметров не вызовется из F::call<TT...>() при пустом списке аргументов:
// оно будет искать fMany<>(), а не fMany().
// - Шаблон с пустым списком аргументов сделать нельзя: оно будет считать синтаксис "template<>"
// специализацией несуществующего шаблона.
// - Если в теле класса объявить "template<class... TT>", то специализация "template<> void fMany<>() {}" возьмётся,
// но "template<class T, class TT...>" будет считаться частичной специализацией, что для функций запрещено.
// Остаётся эмулировать шаблон с пустым множеством аргументов (т.е. "sizeof...(RR) == 0") через enable_if.
template<class... TT, std::enable_if_t<(sizeof...(TT) == 0), bool> = true> void fMany() {}
template<class T, class... TT> inline void fMany(T arg, TT... args) {
fOne(arg);
fMany(args...);
}
}
Всем привет. Сабж. Интересует нормальный IDE (vim не предлагать) и тулчейн, чтобы сидеть либо на онтопике, либо также внутри wine. Кодировка сорцов – cp1251.
Это в гентушечке патчи лежат отдельно от собственно сорцов пакета, скачиваемых обычно прямо с сайта/репы его авторов. А можно ли верить всяким дебианам с арчами, не говоря уже про всякие калкулейты и убунты с манжарами – это большой вопрос.
Собственно looprec ещё не пробовал, для начала проверяю лишь бы ничего не сломалось. С поправками на моё железо (s/hw:0,0/hw:Generic,0/g и т.п.) работает как прежде, за исключением сабжа.
Причём есть ещё контролы Center и LFE, которые регулируют громкости правого и левого каналов соответственно. А общая громкость (PCM) на ползунок не реагирует, всегда 100%.
Сабж. А то ещё пару лет назад раздавались голоса, что мол со времён форка LibreSSL кодовую базу OpenSSL привели в порядок, дыры позакрывали, и теперь LibreSSL не нужен; только вот количества уязвимостей по-прежнему были несопоставимы (тыц, тыц). За текущий год (а в случае LibreSSL даже за предыдущий) чёт не видать, хотя в OpenSSL график ползёт вниз; с другой стороны, причины дырявости OpenSLL (которые в коде) вряд ли куда-то делись.
Вопрос в форуме admin, т.е. «что ставить на систему при наличии выбора». Как программист я естественно выберу libtls т.е. LibreSSL.
Сабж. Ну или ссылок накидайте. Хочется услышать что-то типа «п.1, п.2, п.3 – так что сами видите, эту херь дизайнила школота ЕГЭшная». Гугл чёт ничего подходящего не даёт, а сам я по ощущениям недостаточно в теме (мало протоколов изучал и делал).
Хотя одна вещь, помнится, изумила своим феерическим идиотизмом: имена заголовков стали бинарные, а значения стандартных числовых и date-заголовков (Content-Length, Last-Modified, etc.) – по-прежнему передаются текстом. Если тут я не прав, ссылку на спеку и пункт спеки, плиз.
Кидаю сюда а не в Web-Development, т.к. там всякие PHP и CSS, а нужно мнение матёрых системных программистов.
Такие курсоры в текстовом режиме разве что имеют смысл: insert = прямоугольник на весь символ, overwrite = подчёркивание. Как сделать чтобы в insert-режиме была мигающая вертикальная линия между символами, как у нормальных людей?
Xiaomi Redmi 5 Plus отработал 2.5 года и вздулась батарея. Пока что несильно. До этого ровно та же петрушка была с BQ Aquaris не уже помню каким (а я дурак ломал голову чего экран выгнулся, пока сегодня он не отлетел вообще, а под ним такая некислая подушечка обнаружилась – хорошо что не взорвался в моё отсутствие).
Вопросы: бывают производители не халтурщики, и безопаснее ли брать батареи меньших ёмкостей? У нас тут юг, +35 летом норма.
Требования к телефону: съёмный аккумулятор (и чтобы запасной акк можно было отдельно купить), андроид (желательно голый), не лопата (max 6"), дешёвый (но RAM >= 2G на всякий случай), продаётся в РФ (не хочу с али связываться), совсем хорошо если он прослужит дольше чем 2.5 года (твари #$#%ь со своей копроэкономикой…).
Сабж. А именно, внутри Hetzner vServer (так dmidecode определяет хост-систему на виртуалке в ихнем облаке).
Понятно, что когда виртуалка выключена, диск не расшифруешь. А вот насколько имеет смысл доверять хостеру (в т.ч. не только хецнеру) в плане что они не перехватывают обращения к гостевой ФС, вот в чём вопрос?