16 #include "eckit/config/Configuration.h" 17 #include "oops/util/abor1_cpp.h" 18 #include "oops/util/Logger.h" 34 if (!
makers_)
makers_=
new std::map < std::string, WeightFactory * >();
37 Log::error() <<
name <<
" already registered in weight function factory." << std::endl;
38 ABORT(
"Element already registered in WeightFactory.");
40 (*makers_)[
name] =
this;
46 if (!
makers_)
makers_=
new std::map < std::string, WeightFactory * >();
48 std::string
id = config.getString(
"type");
49 std::map<std::string, WeightFactory *>::iterator
j =
makers_->find(
id);
51 Log::error() <<
id <<
" does not exist in weight function factory." << std::endl;
52 ABORT(
"Element does not exist in WeightFactory.");
54 return (*j).second->make(config);
static std::map< std::string, WeightFactory *> * makers_
l_size ! loop over number of fields ke do j
The namespace for the main oops code.
WeightFactory(const std::string &)
static WeightingFct * create(const eckit::Configuration &)