Esiste un compilatore o un preprocessore indipendente che preleva i file C++ ed esegue un passaggio di espansione del modello, generando un nuovo codice C++ con istanze di modello espanse?Strumento di preprocessore per il modello C++
Ricordo uno strumento simile a metà degli anni '90 quando i modelli erano ancora nuovi e sperimentali e il preprocessore era un modo per programmare template con compilatori senza supporto di modelli nativi.
Questo è molto più complicato di un passaggio di macro-elaborazione poiché richiederebbe probabilmente l'analisi e la tokenizzazione del codice per comprendere i contesti.
La mia speranza è quella di utilizzare tale strumento quando si scrive codice OpenCL. OpenCL è C++, ma non supporta i modelli. Spero di poter scrivere modelli, anche semplici come con argomenti interi o bool e avere qualche strumento per analizzare il file e passare e trovare l'uso dei modelli ed espandere le invocazioni e darmi un nuovo codice C++ che il compilatore OpenCL può comprendere.
Anche uno strumento molto limitato può essere utile, non ha bisogno di supportare ogni stranezza del modello, e nemmeno di supportare più moduli o altro.
L'alternativa: #define
macro ovunque .. più brutti, non sicuri, meno efficienti e meno versatili.
linguaggio OpenCL si basa sulla sintassi C99, non C++ secondo alla pagina che hai collegato. –
AMD crea un'estensione per aprireCL, potresti sviluppare i codici di modello se miri solo ai dispositivi AMD. È un problema che non possiamo usare il modello per sviluppare i nostri algoritmi. – StereoMatching