i am a bit confused on the usage of std::forward with a specific use-case. Let's assume the following:
template <typename Store, typename... Args>
auto get(Store&& store, Args&&... args)
{
return store.get(std::forward<Args>(args)...) // 1
return std::forward<Store>(store).get(std::forward<Args>(args)...) // 2
}
Which of the //1 or //2 return statements is correct? Does it depend on the get method?
(Main concern is if i have to forward the store
even though i am not passing it further ahead in the call chain).