Имбирь - твой спиритический овощ. Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

c++

Все мы любим частично специализировать шаблоны.
Вот примерно так:

template <class>
struct Flip;

template <class A, class B>
struct Flip <std::pair<A, B>>
{};

template <class A>
struct Flip <std::array<A, 2>>
{};

Неудобно, что перед тем как использовать новое имя в аргументах, его нужно сначала объявить в параметрах шаблона.
Из-за этого код бывает многословным:

template <class T, T A, class B>
struct Cons;

template <class T, template<T...>class Arr, T Head, T...Tail>
struct Сons <T, Head, Arr<Tail...>>
{};

Что, если сделать специальный синтаксический сахар (с транслятором в стандартные кресты) для того, чтобы можно было делать объявления прямо внутри аргументов?

template <>
struct Flip <std::pair<class A, class B>>
{};

template <>
struct Flip <std::array<class A, 2>>
{};

template <template<class T...>class Arr>
struct cons <T Head, Arr<T...Tail>>
{};

template <> без параметров можно опустить.
Вместо template<class T...>class Arr в объявлении можно писать class Arr<T...>.
И заменить ключевое слово class на @.

struct Flip <std::pair<@A, @B>>
{};

struct Flip <std::array<@A, 2>>
{};

template <@Arr<@T...>>
struct cons <T Head, Arr<T...Tail>>
{};

Да, не стоит забывать, что объявленное можно использовать более одного раза. Следующие строки эквивалентны:

template <class A> struct Eq <A, A> {};
struct Eq <@A, @A> {};
struct Eq <@A, A> {};

С таким сахаром писать на крестах будет немного проще.

#RAVCCQ (3) / @fix / 3641 день назад

Чтобы заработал autoaway, надо собрать dev-lang/tk с флагом xscreensaver.
// Если бы не юзфлаги, я бы даже не знал, что такая проблема существует!

#BG1MDX (0) / @fix / 3672 дня назад
Сбросил биос — проебал прыщезагрузчик. Уже второй раз.
#95JKWN (6) / @fix / 3672 дня назад
c++
typedef typename ANYTHING::type type;
#WDAA55 (0) / @fix / 3690 дней назад
Перезагрузился и не смог попинговать интернет. Ага, деньги на счету кончились. А узнал я об этом только сейчас потому, что был подключен к впн, а провайдер не рвал соединения. Алсо, в личном кабинете провайдера есть возможность вернуть интернет на 10 минут для того, чтобы я смог дойти до сайта банка и оплатить. Можно тыкнуть и опять подключиться к впн.
#LDT2D2 (1) / @fix / 3709 дней назад
А знаете, зачем `.git/config` по умолчанию имеет бит исполняемости?
#9NPEJB (6+2) / @fix / 3721 день назад
Пишу yet another индикатор раскладки клавиатуры. Узнал, что в X11 разные клавиатуры могут иметь разную раскладку. А ещё то, что не может быть более четырёх раскладок у одной клавиатуры.
#50UMA8 (9+1) / @fix / 3730 дней назад
vared для ghci
#I6KCVE (0) / @fix / 3738 дней назад
Оптимизация хвостового вызова с мемоизацией (в т.ч. промежуточных результатов) в общем случае невозможна.
#SLQ7HN (2) / @fix / 3746 дней назад
log

$ vim foo.txt
vim: error while loading shared libraries: libperl.so.5.18: cannot open shared object file: No such file or directory
$ edit(){ local A;A="$(cat -- $1)" && vared A && printf %s $A > $1 }
$ edit foo.txt

так и живём

#3YO8QN (9+2) / @fix / 3746 дней назад
#L2K80O (0) / @fix / 3748 дней назад
#5XZ40L (1) / @fix / 3748 дней назад
q

semaphore = Mutex.new

#UPK0YT (0) / @fix / 3757 дней назад

Вот так я обновляю свой хаскимирок:

sudo cave resolve -1zx ghc `eix --only-names -IC dev-haskell` x11-wm/xmonad app-text/pandoc
#B80HVY (6) / @fix / 3759 дней назад

https://about.gitlab.com/downloads/

wget https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.2.1-omnibus-1_amd64.deb
sudo dpkg -i gitlab_7.2.1-omnibus-1_amd64.deb

Репозитории? Фи, для плебса.

А первая ссылка по запросу «ubuntu gitlab ppa» предлагает установить ruby при помощи sudo make install.

#HW0EU0 (13) / @fix / 3769 дней назад

Tfw слово «print» (произошедшее от старофранцузского «preindre», которое, в свою очередь, произошло от латинского «premere» [1] (давить, придавливать 2)) используется в значении «вывести данные в поток» или «вывести данные в строку» 3. Вероятно, где-то по пути (в документации к более старым ЯП) оно использовалось в значении «напечатать данные на принтере». Слово перекочевало через несколько языков и несколько раз поменяло смысл. Тут не просто легасиговно, тут легасиговно в несколько слоёв.

Или вот ещё: глагол «grep» (этимология: globally search for a regular expression and print) используется в значении «искать глазами в бумажном документе» 4.

#I7N0MT (4) / @fix / 3769 дней назад

$ cat 5.txt
template magick
$ file 5.txt
5.txt: C++ source, ASCII text

#FFRKQN (0) / @fix / 3773 дня назад

Таки нашел, от чего эта хуйня триггерилась:

pressing the shift key down 8 seconds starts slow keys

А я раньше по незнанию иксы перезапускал чтобы починить. Выключить: xkbset -a.

#9UQG1T (0) / @fix / 3775 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.