How to Set Member Typedef Based on Constructor Type