- 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
// https://habr.com/ru/company/jugru/blog/438260/
template<Semiregular T>
struct maybe_view : view_interface<maybe_view<T>> {
maybe_view() = default;
maybe_view(T t) : data_(std::move(t)) {
}
T const *begin() const noexcept {
return data_ ? &*data_ : nullptr;
}
T const *end() const noexcept {
return data_ ? &*data_ + 1 : nullptr;
}
private:
optional<T> data_{};
};
inline constexpr auto for_each =
[]<Range R,
Iterator I = iterator_t<R>,
IndirectUnaryInvocable<I> Fun>(R&& r, Fun fun)
requires Range<indirect_result_t<Fun, I>> {
return std::forward<R>(r)
| view::transform(std::move(fun))
| view::join;
};
inline constexpr auto yield_if =
[]<Semiregular T>(bool b, T x) {
return b ? maybe_view{std::move(x)}
: maybe_view<T>{};
};
/*
> Быть может, что для кого-то это язык родной, но для меня всё
это ощущается как если бы кто-то решил, что Perl излишне читабельный,
а Brainfuck — излишне нечитабельный, поэтому давайте целиться между
ними. Я программировал в основном на C++ все последние 20 лет. Может
быть, я слишком тупой, чтобы во всём этом разобраться, отлично.
*/
j123123 31.01.2019 18:10 # +4
В этом вообще состоит суть крестов и крестомышления. Сделаем фич, которые добавляют кучу новых интересных возможностей, но сделаем это говно настолько уродливым и нечитаемым, чтобы мало кто в здравом уме это захотел использовать. А если кто и поиспользует, если кто осилит всю эту кривую хреноту, то он, преодолевающий трудности кривого и убогого, хреново спроектированного языка, будет смотреться настоящим профи и крутым экспертом в глазах других крестопоклонников
Хотя на самом деле это мастерство преодоление трудностей не нужно нормальному человеку, ибо здравомыслящий человек предпочитает избегать трудностей, а не героически преодолевать их, доказывая кому-то свою крутизну. Ну, это как если б кто-то жил в засранной квартире с кучей битого стекла и ржавых гвоздей торчащих из досок, и он поэтому научился ловко обходить битое слекло и гвозди, и потом среди таких же жителей засранных квартир он будет мегакрутым спецом. Но нормальный человек просто покрутит у виска и скажет, что навыки перепрыгивания через говно, гвозди и битое стекло нормальному человеку нахрен не нужны, и что он лучше будет жить в нормальной квартире, чем задрачивать навыки жизни в говне и потом выебываться этими навыками перед такими же долбоебами
guest8 31.01.2019 18:14 # −999
j123123 31.01.2019 18:16 # +1
guest8 11.03.2019 00:58 # −999
TEH3OPHblu_nemyx 11.03.2019 01:43 # 0
Rooster 31.01.2019 18:27 # 0
bootcamp_dropout 31.01.2019 21:13 # +3
https://www-users.cs.york.ac.uk/susan/joke/cpp.htm
JIyHHblu_nemyx 31.01.2019 22:20 # 0
Maybe no,
Maybe rain,
Maybe snow.
guest8 31.01.2019 22:29 # −999
KGeist 11.03.2019 00:29 # 0
guest8 11.03.2019 02:34 # −999