Aktywne Wpisy
technojezus +115
Nie wierzę w to co widzę. Ekstremiści muzułamńscy z hamasu, niczym nie różniący się od ISIS dokonują mordów na cywiliach z Izraela, zaatakowali jedną z najnowocześniejszych i najlepszych armii na świecie, a co w tym czasie robią 100% polscy POLACY patrioci z krzyżem w ręku? Popierają skrajnych ekstremistów muzułmańskich XDDDDDDDDDDDDDD Oczywiście, jednocześnie ci sami by strzelali do muzułmanów na granicy z Białorusią i są anty w kierunku muzułmanów.
I jeszcze te przeświadczenie,
I jeszcze te przeświadczenie,
Drzamich +9
Co można zrobić pijakowi, który wchodzi na klatkę, gdzie chleje, pali fajki i śpi i nie chce wyjść tak, żeby było to dla niego na tyle nieprzyjemne żeby odechciało mu się wracać, a jednocześnie żeby nie domyślił się, że zrobił to ktoś z lokatorów? Myślałem na przykład o obsypaniu go mrówkami, żeby go pogryzły, ale mrówki te mogą potem wejść do mieszkań.
#alkoholizm #kiciochpyta
#alkoholizm #kiciochpyta
std::vector<sharedptr<Object>> tab;
i teraz chcę wyszukać obiekt po jednym z jego atrybutów
std::findif(tab.begin(), tab.end(), [](){});
To co chcę osiągnąć to:
std::findif(tab.begin(), tab.end(), [](const Object& obj){return obj.atr == 3;});
Problem polega na tym, że najpierw musiałaby nastąpić dereferencja pointera. Da się to jakoś zrobić?
Czy lambda musi przyjmować const std::shared_prt<Object>& ?
#cpp
std::shared_ptr<Object>
i taki musi być argument.Może wyglądać np. tak:
[](const std::shared_ptr<Object> &ptr) {return ptr->atr == 3;}
T
, a który będzie zwracał funktor akceptującyU
, gdzie dereferencjaU
będzie dawaćT
. wtedy będzie można użyć tego mniej więcej takstd::find_if(tab.begin(), tab.end(), withDeref([](const Object& obj){return obj.atr == 3;}));
przykładowy jednolinijkowy adapter w c++17(ofc można dorzucić tam perfect forwarding, ale to troche skomplikowane przy capture)
constexpr auto withDeref = [](auto& functor){return [functor](const auto& dereferencable){return functor(*dereferencable);};
boost::find_if(tab | boost::adaptors::indirected, [](const Object& obj){return true;});