template funktionspointer



  • ist gerade meinem hirn entsprungen und wollte mal eure meinungen bzw. ansätze dazu erfahren.
    ich erklär mal kurz, denn natürlich macht der code ohne einen zusammenhang wenig sinn :D.
    - die funktionen sind aus opengl zb: glVertex3 (d, f, s, i) http://www.opengl.org/documentation/blue_book_1.0/book/ch05.html#id32860
    - meine bibilothek soll bzw. wird generisch und um die daten dann an opengl zu senden wurden ich einfach die funktionen wrappen (wie unten).
    hoffe wird einigermaßen klar.

    void BarDouble(double t) { std::cout << "double" << std::endl; }
    void BarFloat(float t) { std::cout << "float" << std::endl; }
    
    template<typename T_> struct Foo
    {
    	typedef void (*f)(T_);
    	static const f func;
    };
    
    template<> const Foo<float>::f Foo<float>::func = BarFloat;
    template<> const Foo<double>::f Foo<double>::func = BarDouble;
    
    int main(int argc, char *argv[])
    {
    	float i;
    	Foo<float>::func(i);
    
    	return 0;
    }
    


  • Warum überlädst du nicht einfach?



  • ness schrieb:

    Warum überlädst du nicht einfach?

    mmh, das wäre einfacher, sogar um einiges. 😃
    wieder viel zu kompliziert gedacht.


Anmelden zum Antworten