abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:33 | Humor

    Copilot automaticky vkládal do pull requestů 'propagační tipy', reklamní text se na GitHubu objevil ve více než jedenácti tisících pull requestech. Po vlně kritiky byla tato funkce zablokována a produktový manažer Tim Rogers připustil, že umožnit Copilotovi upravovat cizí pull requesty bez vědomí autorů byla chyba.

    NUKE GAZA! 🎆 | Komentářů: 4
    dnes 12:55 | Upozornění

    Je 31. března a tedy Světový den zálohování (World Backup Day). Co by se stalo, kdyby Vám právě teď odešel počítač, tablet nebo telefon, který používáte?

    Ladislav Hagara | Komentářů: 3
    dnes 12:44 | Upozornění

    Digitální a informační agentura (DIA) přistupuje ke změně formátu důvěryhodného seznamu České republiky z verze TLv5 na verzi TLv6, která nastane 29. dubna 2026 v 00:00 (CET). Ke změně formátu důvěryhodných seznamů členských států (tzv. Trusted Lists) dochází na základě změn příslušné unijní legislativy. Důvěryhodné seznamy se používají v rámci informačních systémů a aplikací zejména pro účely ověřování platnosti elektronických

    … více »
    Ladislav Hagara | Komentářů: 2
    dnes 05:00 | Nová verze

    Rspamd (Wikipedie), tj. open source systému pro filtrování nevyžádané pošty, byl vydán v nové major verzi 4.0.0. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 1
    včera 23:11 | Nová verze

    SolveSpace (Wikipedie), tj. multiplatformní open source parametrický 2D/3D CAD, byl vydán v nové verzi 3.2. Přehled novinek v Changelogu na GitHubu. Vyzkoušet lze novou oficiální webovou verzi.

    Ladislav Hagara | Komentářů: 7
    včera 18:22 | Pozvánky

    Organizátoři Dne IPv6, tradiční akce věnované tématům spojeným s tímto protokolem, vyhlásili Call for Abstracts. Na webu konference mohou zájemci přihlašovat příspěvky o délce 20 nebo 40 minut či 10minutové lighting talky a to až do 30. dubna. Tvůrci programu uvítají návrhy přednášek z akademického i komerčního sektoru, které mohou být technického i netechnického zaměření. Den IPv6 se letos uskuteční 4. června a místem konání bude i

    … více »
    VSladek | Komentářů: 12
    včera 15:00 | Zajímavý software

    Euro-Office (Wikipedie) je evropský fork open source kancelářského balíku OnlyOffice. Za forkem stojí koalice firem IONOS, Nextcloud, Eurostack, XWiki, OpenProject, Soverin, Abilian a BTactic. Cílem je zajistit digitální suverenitu Evropy a snížit závislost na neevropských platformách. Projekt vznikl mimo jiné v reakci na nedávné uzavření cloudové služby OnlyOffice. OnlyOffice obviňuje Euro-Office z porušení licenčních podmínek. Na možné problémy upozorňuje i Collabora Online. Jednostranná změna licence není v pořádku.

    Ladislav Hagara | Komentářů: 27
    včera 05:11 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.

    Ladislav Hagara | Komentářů: 0
    včera 00:22 | Komunita

    Během akce Arduino Days 2026 byl publikován Arduino Open Source Report 2025 (pdf) a oznámeno 7 nových produktů kompatibilních s deskou UNO Q (Arduino USB-C Power Supply, USB-C Cable, USB-C Hub, UNO Media Carrier, UNO Breakout Carrier, Bug Hopper, Modulino LED Matrix).

    Ladislav Hagara | Komentářů: 1
    29.3. 20:22 | IT novinky

    Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (5%)
     (2%)
     (14%)
     (24%)
    Celkem 1195 hlasů
     Komentářů: 29, poslední dnes 11:17
    Rozcestník

    Dotaz: C++ ranges::views a indexy položiek

    hermes avatar 18.8.2021 10:48 hermes | skóre: 7 | blog: Elektro | BA
    C++ ranges::views a indexy položiek
    Přečteno: 362×
    Ahojte podedil som view_facade a napísal som si objekt na, ktorý sa dajú aplikovať view adaptéry z STL pre C++ 20x ako:
    ranges::views::filter
    ranges::views::transform
    ranges::views::accumulate
    ...a ďalšie.
    Problém je, že tie adaptéry neobsahujú index, iba samotnú položku (napríklad v predikáte funkcie filter nemám aj index položky). a mne by sa ten index občas hodil.

    V JS pri operáciách ako map, filter, forEach, reduce vieme zistiť aj index položky, tak že funkcii pridáme ďalší parameter:
    [1, 2].map((elem, index) => ({ elem, index })).forEach(console.log); // vypise { elem: 1, index: 0 } a { elem: 2, index: 1 }
    niektoré viac strong typed funkcionálne jazyky, kde sa nedá len tak pridávať, alebo vynechať parameter, zase majú špeciálnu variantu funkcií map, iter (mapi, iteri)
    [1, 2]
    |> Seq.mapi(fun index elem -> $"Index: {index}, Element: {elem}")
    |> Seq.iter(printfn "%s")
    Pri C++ ranges::views, ak by som chcel mať k dispozícii aj index, by som musel napísať špeciálne adaptéry, podporujúce aj index položky. Ako tento problém riešiť, tak aby som to nemusel takto komplikovať? V zdrojovom objekte tie indexy mám, keďže počas iterovania sa tam updatuje počítadlo, ale ako ten index vložiť do tých funkcií?

    Urobiť si wrapper pre objekt, ktorý overloadne operátor "->" a operátor implicitnéj konverzie a tam nejako pridať aj index? Alebo ako to vyriešiť čo najjednoduchšie, aby som mal voliteľne k dispozícii aj index?

    Odpovědi

    NUKE GAZA! 🎆 avatar 18.8.2021 11:47 NUKE GAZA! 🎆 | skóre: 42 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: C++ ranges::views a indexy položiek

    co jakoby takle jednoduše hele to foreach třeba :O :O

    
    std::vector<thisObject> storedValues;
    for (size_t idx = 0; auto value : storedValues) {
      std::cout << idx << ": " << value << '\n';
      ++idx;
    }
    
    
    hermes avatar 18.8.2021 14:26 hermes | skóre: 7 | blog: Elektro | BA
    Rozbalit Rozbalit vše Re: C++ ranges::views a indexy položiek
    Ahoj dík za odpoveď, možno som sa nevyjadril zrozumiteľne, skúsim tú otázku večer preformulovať a pridám aj príklady, aby bolo jasnejšie o čo mi ide.
    18.8.2021 22:16 Jan Trávníček | skóre: 10 | blog: ehonza | Existuje
    Rozbalit Rozbalit vše Re: C++ ranges::views a indexy položiek

    Jestli pomocí ranges tak takhle:

    #include <vector> #include <string> #include <ranges> #include <algorithm> #include <iostream> int main ( ) { using namespace std::string_literals; std::vector < std::string > data ( { "abc"s, "def"s, "ghi"s } ); for ( const std::pair < int, const std::string & > & elem : data | std::ranges::views::transform ( [ index = 0 ] ( const std::string & elem ) mutable { return std::make_pair ( index ++, std::ref ( elem ) ); } ) ) { std::cout << elem.first << " " << elem.second << std::endl; } return 0; }

     

    
    

    Jen pozor na vyhodnocování ranges, hodnota může přes transform projít i víckrát v závislosti co následuje...

    To mess up a Linux box, you need to work at it; to mess up your Windows box, you just have to work on it.
    hermes avatar 19.8.2021 22:27 hermes | skóre: 7 | blog: Elektro | BA
    Rozbalit Rozbalit vše Re: C++ ranges::views a indexy položiek
    Ahoj, ďakujem, hej s tým aj počítam , robím si jednoduchú minimalistickú objektovú embedded databázu pre ESP32 (resp pre všetky platformy) a namiesto SQL tam budem robiť dotazy cez tieto adaptéry podobne to to rieši aj db4o v .NET cez LINQ... a mám tam aj normálne Idčka, ale jednoduchšie by bolo niektoré operácie riešiť cez indexy a hlavne chcem aby to podporovalo aj objekty ktoré nebudú mať IDčka. Toto je tiež riešenie, napadlo to aj mňa, ale pre užívateľa by som to chcel spraviť nejko deklaratívnejšie. Asi si nakoniec napíšem vlastné adaptéry. Minimálne pre trasform a filter. Ale teraz bojujem s vážnejším problémom. Idem asi na github a pogooglim a pohľadám iné objekty dediace view_facade.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.