26 class DoublyConnectedEdgeList;
74 TUniquePtr<RoadSegmentDescription> ptr{
RoadSegments.back().Release()};
83 TUniquePtr<CityAreaDescription> ptr{
CityAreas.back().Release()};
简单的双连通边链表结构。它只允许添加元素,不允许删除元素。
std::vector< TUniquePtr< RoadSegmentDescription > > RoadSegmentList
RoadSegmentList RoadSegments
GraphParser(DoublyConnectedEdgeList &Dcel)
TUniquePtr< RoadSegmentDescription > PopRoadSegment()
const RoadSegmentDescription & GetRoadSegmentAt(size_t i) const
bool HasCityAreas() const
bool HasRoadSegments() const
std::vector< TUniquePtr< CityAreaDescription > > CityAreaList
size_t RoadSegmentCount() const
const CityAreaDescription & GetCityAreaAt(size_t i) const
TUniquePtr< CityAreaDescription > PopCityArea()
size_t CityAreaCount() const