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 15:11 | IT novinky

    Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.

    Ladislav Hagara | Komentářů: 0
    dnes 13:55 | IT novinky

    Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    dnes 02:00 | Nová verze

    Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 19:22 | Humor

    CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.

    NUKE GAZA! 🎆 | Komentářů: 3
    včera 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 3
    včera 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

    Ladislav Hagara | Komentářů: 1
    včera 04:44 | Nová verze

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 4
    včera 01:55 | Humor

    Microsoft zveřejnil zdrojový kód XAML Studia a uvolnil ho pod MIT licencí. XAML Studio je nástroj ze světa Windows, určený pro tvorbu uživatelského rozhraní aplikací pomocí XAML (Extensible Application Markup Language). Stalo se tak zhruba po osmi letech od prvního prohlášení Microsoftu, že se tento kód chystá zveřejnit.

    NUKE GAZA! 🎆 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (4%)
     (0%)
     (9%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (43%)
    Celkem 457 hlasů
     Komentářů: 12, poslední 14.1. 21:12
    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: 37 | 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.