Would it be possible to implement C++17 structured bindings using C++14? I am targetting a simple proof of concept with the following syntax:
int a,b;
(a,b)=std::tuple<int,int>(4,2);
The way I imagined it is :
template <typename T, typename U>
operator=(operator()(T a, U b), std::tuple<T,U>(x,y))
So the = receives a "tied tuple" left and assigns the right to it.
Would this even be possible? - Is it implementable with C++14, or does lexing/parsing need to take place in the background to enable it?
EDIT Is this possible without using std::tie, but using the (a,b) syntax?