A proto je přísný zákaz používání šablon, maker, generátorů kódu. Jenom ten, kdo napsal každý řádek vlastnoručně v monolytu má možnost se zamotat do detailů a pro stromy nevidět les, že...
Btw, když kopíruju v kódu, tak to udělám tím způsobem, aby to kompilátor nepustil, dokud to nebude v cajku...
Už jen tím, že to kopírujete, je vaše pozornost oslabena, vždy tam bude více chyb. Jinak šablona, makro, generátor kódu není kopírování obsahu, ale funkcionality a ta funkcionalita musela být při tvorbě šablony, makra, generátoru verifikována a je obvykle pevně zasazena do kontextu pomocí parametrů.
Proto kopíruju jenom to, co se verifikuje samo. Třeba v C stejnou funkcionalitu pro různý typy dat. Kompilátor řve, když někde nezměním typ.
Pokud víš, jak jinak na to, dej vědět. Makra neberu (problémy s laděním, nepřehledný), generátor kvůli opakování 20 řádků pro tři typy není efektivní, šablony C nepodporuje.