Fixed linux compile errors with lack of proper move constructor and typename not typedef