BuildIt: A Type-Based Multi-stage Programming Framework for Code Generation in C++ | IEEE Conference Publication | IEEE Xplore