Avoid copy when classname is empty in AthContainers
The same logic as elsewhere in AuxTypeRegistry - avoid a copy if we're just returning the name.
Fixes this heaptrack report:
95680 temporary allocations of 95680 allocations in total (100.00%) from:
void std::__cxx11::basic_string<>::_M_construct_aux<>(char*, char*, std::__false_type)
at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/basic_string.h:255
in /cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2023-01-24T2101/Athena/23.0.15/InstallArea/x86_64-centos7-gcc11-opt/lib/libAthContainers.so
void std::__cxx11::basic_string<>::_M_construct<>(char*, char*)
at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/basic_string.h:274
std::__cxx11::basic_string<>::basic_string(std::__cxx11::basic_string<> const&)
at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/basic_string.h:459
SG::AuxTypeRegistry::makeKey(std::__cxx11::basic_string<> const&, std::__cxx11::basic_string<> const&)
at /build/atnight/localbuilds/nightlies/Athena/master/athena/Control/AthContainers/Root/AuxTypeRegistry.cxx:145
SG::AuxTypeRegistry::findAuxID(std::__cxx11::basic_string<> const&, std::__cxx11::basic_string<> const&, SG::AuxTypeRegistry::Flags, std::type_info const&, SG::IAuxTypeVectorFactory* (SG::AuxTypeRegistry::*)() const)
at /build/atnight/localbuilds/nightlies/Athena/master/athena/Control/AthContainers/Root/AuxTypeRegistry.cxx:468
in /cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2023-01-24T2101/Athena/23.0.15/InstallArea/x86_64-centos7-gcc11-opt/lib/libAthContainers.so
unsigned long SG::AuxTypeRegistry::getAuxID<>(std::__cxx11::basic_string<> const&, std::__cxx11::basic_string<> const&, SG::AuxTypeRegistry::Flags)
at /build/atnight/localbuilds/nightlies/Athena/master/athena/Control/AthContainers/AthContainers/AuxTypeRegistry.icc:31
in /cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2023-01-24T2101/Athena/23.0.15/InstallArea/x86_64-cen
tos7-gcc11-opt/lib/libTrigOutputHandlingLib.so
SG::ConstAuxElement::Decorator<>::Decorator(std::__cxx11::basic_string<> const&, std::__cxx11::basic_string<> const&, SG::AuxTypeRegistry::Flags)
at /build/atnight/localbuilds/nightlies/Athena/master/athena/Control/AthContainers/AthContainers/AuxElement.icc:629
SG::ConstAuxElement::Decorator<>::Decorator(std::__cxx11::basic_string<> const&)
at /build/atnight/localbuilds/nightlies/Athena/master/athena/Control/AthContainers/AthContainers/AuxElement.icc:595
SG::AuxElement::Decorator<>::Decorator(std::__cxx11::basic_string<> const&)
at /build/atnight/localbuilds/nightlies/Athena/master/athena/Control/AthContainers/AthContainers/AuxElement.h:1105
SG::WriteDecorHandle<>::WriteDecorHandle(SG::WriteDecorHandleKey<> const&)
at /build/atnight/localbuilds/nightlies/Athena/master/athena/Control/StoreGate/StoreGate/WriteDecorHandle.icc:29
HLTEDMCreator::fixLinks() const
at /build/atnight/localbuilds/nightlies/Athena/master/athena/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.cxx:247
in /cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2023-01-24T2101/Athena/23.0.15/InstallArea/x86_64-centos7-gcc11-opt/lib/libTrigOutputHandlingLib.so
Cheers,
Stewart