#include <PlainAccessor.h>
|
std::unordered_map< std::size_t, std::unique_ptr< IKit > > | m_kits |
|
Definition at line 91 of file PlainAccessor.h.
◆ PlainAccessorFactory()
ExpressionParsing::PlainAccessorFactory::PlainAccessorFactory |
( |
| ) |
|
|
inline |
Definition at line 194 of file PlainAccessor.h.
196 registerPlainValueKit<bool,IProxyLoader::VT_INT>();
197 registerPlainValueKit<int,IProxyLoader::VT_INT>();
198 registerPlainValueKit<unsigned int,IProxyLoader::VT_INT>();
199 registerPlainValueKit<float,IProxyLoader::VT_DOUBLE>();
200 registerPlainValueKit<double,IProxyLoader::VT_DOUBLE>();
202 registerStdVectorKit<bool,IProxyLoader::VT_VECINT>();
203 registerStdVectorKit<int,IProxyLoader::VT_VECINT>();
204 registerStdVectorKit<unsigned int,IProxyLoader::VT_VECINT>();
205 registerStdVectorKit<float,IProxyLoader::VT_VECDOUBLE>();
206 registerStdVectorKit<double,IProxyLoader::VT_VECDOUBLE>();
◆ createAccessor()
std::unique_ptr<IAccessor> ExpressionParsing::PlainAccessorFactory::createAccessor |
( |
const std::any & |
handle_key | ) |
const |
|
inline |
Definition at line 208 of file PlainAccessor.h.
209 std::unordered_map<std::size_t,std::unique_ptr<IKit> >::const_iterator
210 kit_iter=
m_kits.find(handle_key.type().hash_code());
211 if (kit_iter ==
m_kits.end()) {
212 std::stringstream
msg;
213 msg <<
"ExpressionParsing::PlainAccessorFactory: no kit for type " << handle_key.type().name();
214 throw std::runtime_error(
msg.str());
216 return kit_iter->second->createAccessor(handle_key);
◆ instance()
◆ registerPlainValueKit()
template<typename T , IProxyLoader::VariableType T_variable_type>
void ExpressionParsing::PlainAccessorFactory::registerPlainValueKit |
( |
| ) |
|
|
inline |
◆ registerReadKey() [1/2]
bool ExpressionParsing::PlainAccessorFactory::registerReadKey |
( |
std::unordered_map< std::string, std::any > & |
read_keys, |
|
|
const std::type_info & |
the_type, |
|
|
SGxAODProxyLoader::IParentHelper & |
parent, |
|
|
const std::string & |
var_name, |
|
|
std::vector< Gaudi::DataHandle * > & |
new_input_handles, |
|
|
bool |
verbose = false |
|
) |
| |
|
inline |
Definition at line 218 of file PlainAccessor.h.
224 std::unordered_map<std::size_t,std::unique_ptr<IKit> >::const_iterator
225 kit_iter=
m_kits.find(the_type.hash_code());
226 if (kit_iter ==
m_kits.end()) {
228 std::cout <<
"DEBUG PlainAccessorFactory::createReadKey no matching kit for " << the_type.name() <<
" " << the_type.hash_code() << std::endl;
229 for (
const std::pair<
const std::size_t,std::unique_ptr<IKit> > &elm :
m_kits) {
230 std::cout <<
"DEBUG PlainAccessorFactory::createReadKey have " << elm.first << std::endl;
◆ registerReadKey() [2/2]
template<class T_Cont >
static bool ExpressionParsing::PlainAccessorFactory::registerReadKey |
( |
std::unordered_map< std::string, std::any > & |
read_keys, |
|
|
SGxAODProxyLoader::IParentHelper & |
parent, |
|
|
const std::string & |
var_name, |
|
|
std::vector< Gaudi::DataHandle * > & |
new_input_handles, |
|
|
bool |
verbose |
|
) |
| |
|
inlinestatic |
Definition at line 112 of file PlainAccessor.h.
120 if (ret.first != read_keys.end()
122 && ret.first->second.type().hash_code() ==
typeid(
key).hash_code()) {
131 if (
parent.declare(*key_final).isFailure()) {
137 std::cout <<
"DEBUG PlainAccessorFactory::registerReadKey register read handle key for " <<
var_name <<
" [" <<
typeid(T_Cont).
name() <<
"]."<< std::endl;
◆ registerStdVectorKit()
template<typename T , IProxyLoader::VariableType T_variable_type>
void ExpressionParsing::PlainAccessorFactory::registerStdVectorKit |
( |
| ) |
|
|
inline |
◆ throwFailedToAddHandle()
static void ExpressionParsing::PlainAccessorFactory::throwFailedToAddHandle |
( |
const std::string & |
var_name | ) |
|
|
inlinestatic |
Definition at line 105 of file PlainAccessor.h.
106 std::stringstream
msg;
107 msg <<
"Failed to add read handle key for " <<
var_name;
108 throw std::runtime_error(
msg.str());
◆ ATLAS_THREAD_SAFE
◆ m_kits
std::unordered_map<std::size_t,std::unique_ptr<IKit> > ExpressionParsing::PlainAccessorFactory::m_kits |
|
private |
The documentation for this class was generated from the following file: