Question: I have a pandas data frame from which I'm trying to create a dictionary based on a users age, where age is the key and the data associated with it is the value. So lets say users with age 10 will be in a dictionary {Age:10, Data:[Pole, Carl]}

[Table Image](https://i.stack.imgur.com/utCnQ.png)

Answer: 
Did you try explicitly deleting the l-value overload?

```
template <typename T>
auto f(T &&) {}

template <typename T>
auto f(T &) = delete;

```
You can use `static_assert` if you don't need SFINAE:

```
template<typename T>
auto f(T&&) {
    static_assert(std::is_rvalue_reference_v<T&&>);
}

```