| 139 | |
| 140 | using loop_point = pair<void *,uint64_t>; |
| 141 | bool canVisitStructure_ ( char * ps, StructInfo * info ) { |
| 142 | auto it = find_if(visited.begin(),visited.end(),[&]( const loop_point & t ){ |
| 143 | return t.first==ps && t.second==info->hash; |
| 144 | }); |
| 145 | if (it!=visited.end()) { |
| 146 | return revisitStructure(ps, info); |
| 147 | } |
| 148 | return canVisitStructure(ps, info); |
| 149 | } |
| 150 | bool canVisitHandle_ ( char * ps, TypeInfo * info ) { |
| 151 | auto it = find_if(visited_handles.begin(),visited_handles.end(),[&]( const loop_point & t ){ |
| 152 | return t.first==ps && t.second==info->hash; |
no test coverage detected