Fix runtime_error for g++
Use universal reference + Adapt