c-metprogramming-exploration/README.md

1.1 KiB

Generics/Metaprogramming in C

Exploring different ideas for implementing generics in C.

01_no_metaprogramming is the result of the code if implemented manually.

02_macros is an implementation that uses simple macros to define 2D and 3D vectors for different data types.

03_xmacros is an implementation that relies on X macros to allow for defining any N-dimensional vector for different data types. In this case, only 2D and 3D vectors were defined, but it can be easily expanded to other dimensions.

General assessment of the different techniques

Technique Readability Debugging Maintenance Extensibility Score
01_no_metaprogramming 3.25 / 5
02_macros 3.75 / 5
03_xmacros 2.75 / 5