Как вы можете определить, является ли данный параметр rvalue в С++ 03? Я пишу какой-то очень общий код и мне нужно взять ссылку, если это возможно, или создать новый объект в противном случае. Могу ли я перегружать, чтобы принимать по-значение, а также по-ссылке, и возвращать значения rvalue функцию by-value?
Или у меня очень тошнотворное чувство, что именно поэтому ссылки rvalue находятся в С++ 0x?
Edit:
is_rvalue =! (is_reference || is_pointer)?