
on 12.10.2010 at 22:35 joel falcou wrote :
an idea immediately arises in my mind: what if it could be possible to force a particular backend e.g. sse2 and make it propagate down the call stack? this way you write generic code once and are able to (pre)compile for (expected) platforms/technologies then you just switch once depending on some circumstances and call the appropriate instance (say sse2 forced) at least this way you write the source once and possibly don't rewrite it for every circumstance
It's like what we do already
cool forgive me for repeating myself, do i understand correctly? will it be something like the following? template</*...*/> void task(...); //somewhere if (supportsSSE2) task<SSE2>(/*...*/); else task<General>(/*...*/); -- Pavel P.S. if you notice a grammar mistake or weird phrasing in my message please point it out