Now you have made this change, it seems clear to me that Value::swap isn't correct, because it doesn't swap the values of itemIsUsed_ and memberNameIsStatic_ in the case that JSON_VALUE_USE_INTERNAL_MAP is defined.

Is my reasoning correct?  If so, could I convince you to make this change?