johnslowpoke: ОК, теперь задача ясна (из оригинального вопроса она не совсем ясна). Если вместо getCallback имеется в виду setCallback в качестве клиентского API, то это меняет смысл. Насколько я понимаю, эта лябда должна тихо проглатывать любые аргументы, если вызывается через сигнатуру с аргументами и возвращать значение по умолчанию (результат вызова конструктора по умолчанию), когда в соответствии с конкретной сигнатурой ее возвращаемое значение отлично от void.
Остается одна проблема: перечисление Event никак не связано с сигнатурой конкретной Callback, так что из значения Event никак не получится вывести аргументы и возвращаемое значение для лямбды.
Igorjan: Обслуживание парка более 50 машин полностью различной комплектации требует привлечения админа средней квалификации на полный рабочий день. Другая альтернатива - парк из более 50 полностью однотипных машин с идентичным ПО, на обслуживание которого можно найти админа, готового работать неполный день на половину рабочей ставки. В таком случае дополнительные затраты на фирменное оборудование (по сравнению с аналогичным нефирменным) могут окупиться за 6 - 12 месяцев за счет сокращения издержек на администрирование.
Но при наличии всего одной машины в "парке", переплачивание за красивый лейбл ASUS на системнике выглядит как юношеский максимализм.
grey_rat: Под аббревиатурой P2P типично понимаются технологии, работающая в глобальной Сети, где никакие мультикасты не работают в общем случае.
Построение P2P в локальной сети с доступным мультикастом - достаточно тривиально, так как большая часть проблем, связанных с поиском пиров и сохранением связности сети, просто не возникает.
Noizefan zzz: Да. Тут подробнее - https://en.bitcoin.it/wiki/Network#Bootstrapping
В добавок к списку жестко прописанных IP идет список жестко прописанных доменных имен и еще один интересный механизм - получение списка через IRC-канал (но адреса IRC-серверов, конечно, тоже жестко прописаны).
Кроме этого bitcoin-клиент при выходе запоминает многие маршруты и адреса, так что следующее подключение идет уже не совсем по-холодному, а гораздо быстрее.
Я извиняюсь, но приведенный код - костыль на костыле. Если у вас Create/Terminate/Timeout/Partytime имеют РАЗНЫЕ сигнатуры, значит это все это РАЗНЫЕ типы. А в callbackMap у вас все функции std::function с ОДИНАКОВЫМИ сигнатурами, следовательно одного типа. Даже если вам каким-то образом удастся привести один тип к разным типам (что логически ошибочно), то какой все это будет иметь смысл? Все равно при попытке вызвать любую функцию, через указатель на функцию другого типа случится НЕОПРЕДЕЛЕННОЕ ПОВЕДЕНИЕ.
nelolka: Он поддерживает XPath?
Да - Это просто еще один из сотен различных фронтендов над libxml2 или другим движком XPath.
Нет - Это лишний DSL, который требует времени на изучения, но не превосходит XPath не по лаконичности выражений, не по мощности в плане возможностей решения сложных задач.
john862003: Гораздо более миниатюрные в пределах 200$ ? У них наверное ужасный КПД и расход топлива.
В вопросе не было сказано именно про КВАДРОкоптеры. Под коптерамии вообще могут пониматься и хеликоптеры, а у них управление идет через рулевой винт и смещение цента масс, а отзывчивость двигателя несущего винта не имеет решающего значения. Именно квадрокоптер с поршневым двигателем я вообще с трудом себе представляю. У него что будет трансмиссия с раздаткой на несколько винтов? Или несколько двигателей? Сколько же такое "чудо" будет весить? И сколько оно будет стоить?
denivel: Если нужно периодически проверять значение по соответствующему адресу (между проверками это значение может изменятся сколько угодно раз), то это легко пишется программно (на Linux через ptrace, на Windows через ReadProcessMemory).
Если нужно отлавливать абсолютно каждое изменение - это задача гораздо сложнее. Реализуется это через отладку с использованием аппаратных отладочных регистров ( https://en.wikipedia.org/wiki/X86_debug_register ). Самостоятельно писать все это слишком трудоемко. Лучше взять готовый отладчик, в котором имеется внутренний скриптовый язык (под Linux - gdb, под Windows - OllyDbg, например) и реализовать соответствующую логику на нем.
Сейчас сюда набегут говноброкеры и начнут спамить услуги своих контор.
И что характерно, вам придется выбирать себе партнера именно из них, потому что других способов выхода на биржу просто не существует.
Небольшое пояснение:
Исключение #DE - это прерывание № 0, то же самое, которое вызывается и при делении на ноль.
Оно отлавливается ОС и передается обработчику исключений в user space (т.е. самому процессу, бросившему исключение), если соответствующий обработчик настроен, в противном случае процесс мгновенно завершается.
Nokolai2017: Около десяти лет назад я работал кодером в конторе "на все руки мастера" в одной отдаленной деревне. Так вот, эникейщики, которые ездили ставить клиентам заказанный софт и привозили новые задачи, не выставляли счетов меньше часа за вызов (независимо от того, во сколько я оценивал свою работу), даже если на месте приходилось делать полтора клика мышью, остальные 59 минут они тратили на "втирания" клиенту длинной лекции о преимуществах сотрудничества с нашей организацией, о необходимости частых обновлений софта и о том как страшно пропускать обновления.
Наш директор объяснял это так: клиенты бывают двух типов: платежеспособные и неплатежеспособные. Первые даже если ноют о цене, то все равно платят. За вторых не стоит цепляться, пускай движутся на все стороны и ищут бесплатный сыр в мышеловках, а когда обожгутся на этом, то вернутся к нам и перейдут в категорию платежеспособных, а которые не перейдут, на таких вообще не стоит тратить свое время, лучше сконцентрироваться на платежеспособных.
Винту с бэдами не стоит доверять никакую ценную информацию, о потери которой возможно сожалеть. Ничто не мешает использовать такой диск под файлопомойку (фильмы, музыку, торренты), если заранее быть морально готовым к потере всего этого.
И само наличие битых секторов еще необязательно говорит о скорой смерти устройства. Для диагностики предсмертных состояний, гораздо важнее скорость "расползания" разбитой зоны по поверхности. Если за время продолжительного тестирования под высокими нагрузками (например, butterfly read-write тест в Victoria) на поверхности не появилось ни одного нового бэда, то не исключено, что этот битый винт еще переживет некоторые небитые.
Для начала нужно узнать что в трехмерном пространстве у тела есть шесть степеней свободы.
А потом еще можно узнать, что декартова система координат может быть в пространстве любой размерность и иметь, соответственно, любое количество осей.
Остается одна проблема: перечисление Event никак не связано с сигнатурой конкретной Callback, так что из значения Event никак не получится вывести аргументы и возвращаемое значение для лямбды.