11 #ifndef OOPS_INTERFACE_LOCATIONS_H_ 12 #define OOPS_INTERFACE_LOCATIONS_H_ 16 #include <boost/shared_ptr.hpp> 18 #include "oops/util/Logger.h" 19 #include "oops/util/ObjectCounter.h" 20 #include "oops/util/Printable.h" 21 #include "oops/util/Timer.h" 31 template <
typename MODEL>
33 private util::ObjectCounter<Locations<MODEL> > {
37 static const std::string
classname() {
return "oops::Locations";}
40 explicit Locations(
const eckit::Configuration &);
48 void print(std::ostream &)
const;
49 boost::shared_ptr<const Locations_>
locs_;
54 template <
typename MODEL>
57 Log::trace() <<
"Locations<MODEL>::Locations constructed" << std::endl;
62 template <
typename MODEL>
64 Log::trace() <<
"Locations<MODEL>::Locations starting" << std::endl;
65 util::Timer timer(classname(),
"Locations");
67 Log::trace() <<
"Locations<MODEL>::Locations done" << std::endl;
72 template <
typename MODEL>
76 Log::trace() <<
"Locations<MODEL>::Locations copied" << std::endl;
81 template <
typename MODEL>
83 Log::trace() <<
"Locations<MODEL>::~Locations starting" << std::endl;
84 util::Timer timer(classname(),
"~Locations");
86 Log::trace() <<
"Locations<MODEL>::~Locations done" << std::endl;
91 template<
typename MODEL>
93 Log::trace() <<
"Locations<MODEL>::print starting" << std::endl;
94 util::Timer timer(classname(),
"print");
96 Log::trace() <<
"Locations<MODEL>::print done" << std::endl;
103 #endif // OOPS_INTERFACE_LOCATIONS_H_ MODEL::Locations Locations_
const Locations_ & locations() const
Interfacing.
The namespace for the main oops code.
Locations(const Locations_ *)
boost::shared_ptr< const Locations_ > locs_
void print(std::ostream &) const
static const std::string classname()