MCPcopy Create free account
hub / github.com/Geode-solutions/OpenGeode / unmap

Method unmap

include/geode/basic/mapping.hpp:212–240  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

210 }
211
212 void unmap( const T1& in, const T2& out )
213 {
214 if( !this->has_mapping_input( in ) )
215 {
216 return;
217 }
218 auto& in_map = this->in2out_mapping().at( in );
219 const auto itr = absl::c_find( in_map, out );
220 if( itr == in_map.end() )
221 {
222 return;
223 }
224 in_map.erase( itr );
225 if( this->in2out( in ).empty() )
226 {
227 this->in2out_mapping().erase( in );
228 }
229 auto& out_map = this->out2in_mapping().at( out );
230 const auto itr2 = absl::c_find( out_map, in );
231 if( itr2 == out_map.end() )
232 {
233 return;
234 }
235 out_map.erase( itr2 );
236 if( this->out2in( out ).empty() )
237 {
238 this->out2in_mapping().erase( out );
239 }
240 }
241
242 void erase_in( const T1& in )
243 {

Callers

nothing calls this directly

Calls 5

has_mapping_inputMethod · 0.80
atMethod · 0.80
emptyMethod · 0.80
endMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected