#include <iostream>
using namespace std;
void someFunction(int& value){
std::cout << "ref" << std::endl;
}
void someFunction(const int&& value){
std::cout << "const" << std::endl;
}
void someFunction(int&& value){
std::cout << "non const" << std::endl;
}
const int foo() { return int(); }
int bar() { return int(); }
int main() {
someFunction(bar());
someFunction(foo());
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCnZvaWQgc29tZUZ1bmN0aW9uKGludCYgdmFsdWUpewogICAgc3RkOjpjb3V0IDw8ICJyZWYiIDw8IHN0ZDo6ZW5kbDsKfQoKdm9pZCBzb21lRnVuY3Rpb24oY29uc3QgaW50JiYgdmFsdWUpewogICAgc3RkOjpjb3V0IDw8ICJjb25zdCIgPDwgc3RkOjplbmRsOwp9Cgp2b2lkIHNvbWVGdW5jdGlvbihpbnQmJiB2YWx1ZSl7CglzdGQ6OmNvdXQgPDwgIm5vbiBjb25zdCIgPDwgc3RkOjplbmRsOwp9Cgpjb25zdCBpbnQgZm9vKCkgeyByZXR1cm4gaW50KCk7IH0KaW50IGJhcigpIHsgcmV0dXJuIGludCgpOyB9CgoKaW50IG1haW4oKSB7CiAgICBzb21lRnVuY3Rpb24oYmFyKCkpOwogICAgc29tZUZ1bmN0aW9uKGZvbygpKTsKCXJldHVybiAwOwp9