Variadic Min,Max,Sum

  • Hallo da mich std::min und std::max nerven hab ich mich mal schnell hingesetzt und eigene bessere varianten geschrieben.
    Bestimmt kann der ein oder andere Dev auch was damit anfangen.


    Was sind die Vorteile ?


    1.) kein nerviges pragma push macro, undef max etc. mehr
    2.) ihr könnt eine beliebige Anzahl an Argumenten und beliebige typen übergeben.
    3.) die Funktionen leiten immer den größten Datentypen ab.
    4.) Ihr könnt einen Container oder ein C-Array übergeben.
    5.) Wenn ihr die Funktionen mit Werten aufruft die zur Compile-Time bekannt sind sollten die Funktionen auch zur Compile-Time ausgewertet werden können.


    Hier der Code:


    Verwenden kann man das ganze dann so :


    Ja Ja, SFINAE ist schon was feines :D.
    Ich weiß das die varianten mit den Containern eigentlich nicht notwendig gewesen wäre aber hab dann auch kein bock mein Max noch mit max_element zu mixxen.


    MfG

    3 Mal editiert, zuletzt von StreetFight () aus folgendem Grund: Edit: hab mal hinzugefügt das wenn ein Floating Point übergeben wird immer double abgeleitet wird. Danke an Remix für den Hinweis.

  • Dieses Thema enthält 8 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.