Technical Report 1
Wikipedia
Technical Report 1 (TR1) on luonnos C++-ohjelmointikieleen suunnitelluista lisäyksistä C++:n standardikirjastoon. Se sisältää muun muassa säännöllisten lauseiden käsittelyn, hajautustaulut (hash table), satunnaislukugeneraattorit sekä funktio-objektit.
TR1 ei ole vielä sisällä kaikkia komponentteja, jotka C++0x:n tullaan lisäämään. Siitä puuttuvat esimerkiksi säikeet, jotka kieleen hyvin todennäköisesti lisätään.
GCC:hen on jo lisätty osa tr1:n ehdotuksista ja kaikki lisäykset löytyvätkin nimiavaruudesta std::tr1.
[muokkaa] Esimerkki
/* g++ tr1.cc && ./a.out (vaatii g++ >= 4:n) */ #include <iostream> #include <tr1/functional> class X { public: void y(int a, int b) { std::cout << a + b << std::endl; } }; int main() { X x; std::tr1::function<void (int)> func = std::tr1::bind(&X::y, &x, 2, std::tr1::placeholders::_1); func(3); }
Ohjelma tulostaa numeron 5.
Funktion tr1::bind syntaksi on sama kuin Boost-kirjastossa [1] ja Boost onkin toteuttanut lähes kaikki TR1:n ominaisuudet sellaisina kuin ne on määritetty.