template <class LoadModule>
class LoadModuleRef
Defined at line 300 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
Forward declaration for a helper class defined below.
See the name_ref() and soname_ref() methods in ld::LoadModule, below.
Public Methods
void LoadModuleRef<LoadModule> ()
Defined at line 304 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
void LoadModuleRef<LoadModule> (const LoadModuleRef<LoadModule> & )
Defined at line 306 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
void LoadModuleRef<LoadModule> (LoadModule * module, const Soname &(LoadModule::*)() name)
Defined at line 308 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
LoadModuleRef<LoadModule> & operator= (const LoadModuleRef<LoadModule> & )
Defined at line 311 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
LoadModule & operator* ()
Defined at line 313 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
LoadModule * operator-> ()
Defined at line 315 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
LoadModule * get ()
Defined at line 317 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
const Soname & name ()
Defined at line 319 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
uint32_t hash ()
Defined at line 321 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
const Soname & GetKey (const LoadModuleRef<LoadModule> & ref)
This is the API contract used by fbl::HashTable.
Defined at line 324 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
uint32_t GetHash (const LoadModuleRef<LoadModule> & ref)
Defined at line 325 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
bool operator== (const Soname & other_name)
Defined at line 327 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
bool operator!= (const Soname & other_name)
Defined at line 329 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
bool operator== (const LoadModuleRef<LoadModule> & other)
Defined at line 331 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
bool operator!= (const LoadModuleRef<LoadModule> & other)
Defined at line 335 of file ../../sdk/lib/ld/include/lib/ld/load-module.h
std::strong_ordering operator<=> (const LoadModuleRef<LoadModule> & other)
While elfldltl::Soname is strictly ordered on the str() value, i.e. ASCII
string sorting, ld::LoadModuleRef is has a strong but arbitrary ordering.
That is, it's ordered first by hash value (which is precomputed), and
only ordered by string comparison among strings with the same hash value.
This allows LoadModuleRef is to be used efficiently in either sorted or
hashed containers, but only for purposes of lookup, never for enumeration
where ordering should be useful.
Defined at line 346 of file ../../sdk/lib/ld/include/lib/ld/load-module.h