edge copy constructor