Made reference qualified function optional with preprocessor