-
+1
- 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
struct any
{
std::any _val;
inline constexpr any() : _val{}
{
}
inline constexpr any(undefined_t) noexcept : _val{}
{
}
inline constexpr any(std::nullopt_t) noexcept : _val{}
{
}
template <typename T>
inline constexpr any(const T &val) : _val{val}
{
}
inline any(const any &val) noexcept : _val{val._val}
{
}
inline any(any &&val) noexcept : _val{std::move(val._val)}
{
}
inline any &operator=(const any &val)
{
_val = val._val;
return *this;
}
inline operator bool()
{
if (!_val.has_value())
{
return false;
}
auto type_index = std::type_index(_val.type());
if (type_index == std::type_index(typeid(int)))
{
return std::any_cast<int>(_val) > 0;
}
else if (type_index == std::type_index(typeid(double)))
{
return std::any_cast<double>(_val) > 0;
}
else if (type_index == std::type_index(typeid(tstring)))
{
return std::any_cast<tstring>(_val).size() > 0;
}
else if (type_index == std::type_index(typeid(tstring_view)))
{
return std::any_cast<tstring_view>(_val).size() > 0;
}
else if (type_index == std::type_index(typeid(const char_t *)))
{
auto v = std::any_cast<const char_t *>(_val);
return !v;
}
else if (type_index == std::type_index(typeid(std::nullptr_t)))
{
return false;
}
else if (type_index == std::type_index(typeid(bool)))
{
return std::any_cast<bool>(_val);
}
return true;
}
template <typename N = void>
requires Arithmetic<N> any operator+(N n)
{
return any{std::any_cast<N>(this->_val) + n};
}
friend std::ostream &operator<<(std::ostream &os, const any &val_)
{
auto val = val_._val;
if (val.has_value())
{
auto type_index = std::type_index(val.type());
if (type_index == std::type_index(typeid(int)))
{
os << std::any_cast<int>(val);
}
else if (type_index == std::type_index(typeid(double)))
{
os << std::any_cast<double>(val);
}
else if (type_index == std::type_index(typeid(tstring)))
{
os << std::any_cast<tstring>(val);
}
нужна помощь упростить этот ад.
ASD_77,
21 Мая 2020
-
0
- 1
reinterpret_cast<ppu_function_t>(static_cast<std::uintptr_t>(ppu_ref<u32>(cia)))(*this);
Лопни глазоньки. Шаблоны увечат С++ как бог черепаху.
https://github.com/RPCS3/rpcs3/blob/91d06a97296e5e418fb601284577475d8c7dfbaf/rpcs3/Emu/Cell/PPUThread.cpp
Psionic,
21 Мая 2020
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
$openTab.on('click', function () {
$('.c-header__nav__level-1').hide();
$('.c-header__nav__level-back').show();
$tabContent.show();
});
//показываем меню 1 уровня когда нажимаем на бургер
$('.c-header__toggler--burger').on('click', function () {
$('.c-header__toggler').toggle();
$('.c-header__nav__level-1').fadeIn();
$('body').addClass('body-no-scroll');
});
//скрытие на кнопку закрытие
$('.c-header__toggler--close').on('click', function () {
$('.c-header__toggler').toggle(); //сама кнопка
$('.c-header__nav__level-1').fadeOut(); //закрываем первый уровень
$tabContent.fadeOut(); //закрываем второй уровень
setTimeout(function () { //тайм-аут для восстановления 2 уровня по умолчанию
$('.c-header__nav__level-2-item--show').removeClass('c-header__nav__level-2-item--show');
$('.c-header__nav__level-2-item').show();
}, 800);
$('.c-header__nav__level-3').fadeOut(); //закрываем 3 уровень
$('.c-header__nav__back').fadeOut(); // закрываем все кнопки 'назад'
$('body').removeClass('body-no-scroll');
});
//кнопка "назад" со 2 на 1 уровень
$('.c-header__nav__level-back').on('click', function () {
$(this).hide().parent().hide().prev().show();
});
$('.c-header__nav__level-2-back').on('click', function () {
$(this).hide();
$(this).prev().show();
$('.c-header__nav__level-2').removeClass('is-active');
});
//кнопка "назад" с 3 на 2 уровень
$('.c-header__nav__level-3-back').on('click', function () {
$(this).hide()
.parent().find('.c-header__nav__level-2-item--show').removeClass('c-header__nav__level-2-item--show'); // восстановления 2 уровня по умолчанию
$('.c-header__nav__level-2-item').show(); // восстановления 2 уровня по умолчанию
$('.c-header__nav__level-2-back').show(); //восстанавливаем кнопку "назад" 2 уровня
$('.c-header__nav__level-3').hide(); //закрываем 3 уровень
});
//переход с 2 на 3 уровень
$('.c-header__nav__level-2-item').on('click', function () {
$('.c-header__nav__level-2-item').not($(this)).hide(); //закрываем весь 2 уровень кроме нажатого
$(this).addClass('c-header__nav__level-2-item--show'); //стили для нажатого 2 уровня
$('.c-header__nav__level-2-back').hide(); //скрываем кнопку "назад" 2 уровня
$('.c-header__nav__level-3').show(); // показываем кнопку "назад" 3 уровня
$('.c-header__nav__level-3-back').show(); //показываем 3 уровень
});
//новое меню
$('body').on('click', '.c-header__nav__level-left__link.parent', function (e) {
e.preventDefault();
$(this).next('ul').addClass('is-active');
$('.c-header__nav__level-2-back').show();
$('.c-header__nav__level-back').hide();
});
Главное, что задокументировано
phpBidlokoder2,
21 Мая 2020
-
+1
- 1
- 2
- 3
- 4
- 5
if(object)
if(object->isSolid)
event.isCancelled = true;
;else //<
throw NullEventArgumentException("object == nullptr");
Новый токен в C++ про который знает только 0.6% говнокодеров
digitalEugene,
21 Мая 2020
-
+3
- 1
- 2
- 3
- 4
- 5
Помните шутку про 1С/C++/CSH программиста?
Так вот: парень хочет работать с COM портом, но почему-то COM объект в Windows не создается.
https://phpclub.ru/talk/threads/%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-failed-to-create-com-object.86770/
MAKAKA,
21 Мая 2020
-
+3
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
// Вот код скрипта для отправки емейла:
mb_internal_encoding ("utf-8");
$from = "Иван Иванов <[email protected]>";
$to = $name."<$email>";
$subject = "Подтверждение подписки";
$message = "текст письма здесь";
$headers = "From: ".$from."\nReply-To: ".$from."\nContent-Type: text/plain; charset=utf-8\nContent-Transfer-Encoding: 8bit";
mail ($to, $subject, $message, $headers);
// И что характерно, само тело письма приходит в правильной кодировке. А вот поля отправителя,
// получателя и сабж письма - в краказябинах. Сами тексты этих полей 100% написаны в utf-8, код скрипта тоже в utf-8.
// Вот что что я вижу в почте:
// Subject: РРѕРґСРІРµСждение РїРѕРґРїРёСРєРё
// From: Рван Рванов <[email protected]>
// Reply-To: Рван Рванов <[email protected]>
// ...
// Проблема решилась следующим образом:
$subject = "=?utf-8?B?" . base64_encode("Подтверждение подписки") . "?=";
// И так для каждого поля.
https://phpclub.ru/talk/threads/Нужна-помощь-битая-кодировка-в-письме.82881/
gost,
20 Мая 2020
-
+2
- 1
- 2
https://habr.com/ru/post/501798/
> C++/Qt: пора валить?.
Выбор небогат – это PHP. Да, я сказал PHP. И мне не стыдно.
Ещё раз напомню, о каком типе приложений идёт речь: о тех, где сложная логика, требующая вычислительной производительности, реализована на C/C++, а к ним в пару нам нужен как можно более простой открытый язык/экосистема для общения с внешним миром и связи компонентов между собой. А если будет C-подобный синтаксис – вообще хорошо. И тут мы ставим галочки напротив каждого пункта наших требований.
Главное – PHP прост. При том круге задач, которые он (и экосистема) может решать — он божественно прост. И дело не только в когнитивной нагрузке при кодинге и переключении контекста. Простота ещё и в развёртывании, администрировании и минимальном количестве вариантов, которыми можно решить одну задачу.
PHP медленно, без резких движений, ползёт в правильную сторону, от увеличения производительности в 3 раза, до строгой типизации, решая задачи простым способом. И обрастая по пути крутыми штуками типа Swoole.
PHP реализовал офигенский FFI (foreign function interface) к C. Офигенский в том контексте, о котором идёт речь — сочетании простоты и возможностей. Вы только наберите в гугле «PHP: Basic FFI usage».
В PHP кругом $, а кто по нынешнему курсу их не любит...
PHP быстрый. Да. Могу по слогам: бы-стрый. Для своей простоты и задач он божественно быстрый.
j123123,
20 Мая 2020
-
0
#1: https://govnokod.ru/15804 (не открывается) https://govnokod.xyz/_15804/
#2: https://govnokod.ru/19910 https://govnokod.xyz/_19910/
#3: https://govnokod.ru/23643 https://govnokod.xyz/_23643/
#4: (vanished) http://govnokod.xyz/_24822/
#5: https://govnokod.ru/24868 https://govnokod.xyz/_24868
#6: (vanished) https://govnokod.xyz/_26648/
bagrinho,
19 Мая 2020
-
0
#1: https://govnokod.xyz/_20162 https://govnokod.ru/20162
#2: https://govnokod.xyz/_25329 https://govnokod.ru/25329
#3: https://govnokod.xyz/_25415 https://govnokod.ru/25415
#4: https://govnokod.xyz/_25472 (vanished)
#5: https://govnokod.xyz/_25693 https://govnokod.ru/25693
#6: https://govnokod.xyz/_26649 (vanished)
bagrinho,
19 Мая 2020
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
IT Оффтоп #47
#1: https://govnokod.ru/18142 https://govnokod.xyz/_18142
#2: https://govnokod.ru/18378 https://govnokod.xyz/_18378
#3: https://govnokod.ru/19667 https://govnokod.xyz/_19667
#4: https://govnokod.ru/21160 https://govnokod.xyz/_21160
#5: https://govnokod.ru/21772 https://govnokod.xyz/_21772
#6: (vanished) https://govnokod.xyz/_24063
#7: https://govnokod.ru/24538 https://govnokod.xyz/_24538
#8: (vanished) https://govnokod.xyz/_24815
#9: https://govnokod.ru/24867 https://govnokod.xyz/_24867
#10: https://govnokod.ru/25328 https://govnokod.xyz/_25328
#11: (vanished) https://govnokod.xyz/_25436
#12: (vanished) https://govnokod.xyz/_25471
#13: (vanished) https://govnokod.xyz/_25590
#14: https://govnokod.ru/25684 https://govnokod.xyz/_25684
#15: https://govnokod.ru/25694 https://govnokod.xyz/_25694
#16: https://govnokod.ru/25725 https://govnokod.xyz/_25725
#17: https://govnokod.ru/25731 https://govnokod.xyz/_25731
#18: https://govnokod.ru/25762 https://govnokod.xyz/_25762
#19: https://govnokod.ru/25767 https://govnokod.xyz/_25767
#20: https://govnokod.ru/25776 https://govnokod.xyz/_25776
#21: https://govnokod.ru/25798 https://govnokod.xyz/_25798
#22: https://govnokod.ru/25811 https://govnokod.xyz/_25811
#23: https://govnokod.ru/25863 https://govnokod.xyz/_25863
#24: https://govnokod.ru/25941 https://govnokod.xyz/_25941
#25: https://govnokod.ru/26026 https://govnokod.xyz/_26026
#26: https://govnokod.ru/26050 https://govnokod.xyz/_26050
#27: https://govnokod.ru/26340 https://govnokod.xyz/_26340
#28: https://govnokod.ru/26372 https://govnokod.xyz/_26372
#29: https://govnokod.ru/26385 https://govnokod.xyz/_26385
#30: https://govnokod.ru/26413 https://govnokod.xyz/_26413
#31: https://govnokod.ru/26423 https://govnokod.xyz/_26423
#32: https://govnokod.ru/26440 https://govnokod.xyz/_26440
#33: https://govnokod.ru/26449 https://govnokod.xyz/_26449
#34: https://govnokod.ru/26456 https://govnokod.xyz/_26456
#35: https://govnokod.ru/26463 https://govnokod.xyz/_26463
#36: https://govnokod.ru/26508 https://govnokod.xyz/_26508
#37: https://govnokod.ru/26524 https://govnokod.xyz/_26524
#38: https://govnokod.ru/26539 https://govnokod.xyz/_26539
#39: https://govnokod.ru/26556 https://govnokod.xyz/_26556
#40: https://govnokod.ru/26568 https://govnokod.xyz/_26568
#41: https://govnokod.ru/26589 https://govnokod.xyz/_26589
#42: https://govnokod.ru/26600 https://govnokod.xyz/_26600
#43: https://govnokod.ru/26604 https://govnokod.xyz/_26604
#44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
#45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
#46: (vanished) https://govnokod.xyz/_26646
#46: (vanished) https://govnokod.xyz/_26654
bagrinho,
19 Мая 2020