C template library