17 #ifndef HPP_CORBASERVER_PROBLEM_SOLVER_MAP_HH
18 # define HPP_CORBASERVER_PROBLEM_SOLVER_MAP_HH
20 # include <boost/thread/mutex.hpp>
25 # include "hpp/core/fwd.hh"
33 typedef std::map<std::string, core::ProblemSolverPtr_t>
ProblemMap_t;
39 const std::string& name =
"default");
43 core::ProblemSolverPtr_t operator-> ();
44 operator core::ProblemSolverPtr_t ();
47 core::ProblemSolverPtr_t
get (
const std::string& name)
const;
50 bool has (
const std::string& name)
const;
51 void add (
const std::string& name, core::ProblemSolverPtr_t ps);
52 void remove (
const std::string& name);
55 template <
typename ReturnType> ReturnType
keys ()
const
57 mutex_t::scoped_lock lock (*mutex_);
59 for (ProblemMap_t::const_iterator it = map_->begin ();
60 it != map_->end (); ++it)
61 l.push_back (it->first);
71 std::string selected_;
Definition: problem-solver-map.hh:31
void selected(const std::string &name)
const std::string & selectedName() const
Definition: problem-solver-map.hh:65
void replaceSelected(core::ProblemSolverPtr_t ps)
ProblemSolverMap(core::ProblemSolverPtr_t init, const std::string &name="default")
bool has(const std::string &name) const
void remove(const std::string &name)
core::ProblemSolverPtr_t selected() const
shared_ptr< ProblemMap_t > ProblemMapPtr_t
Definition: problem-solver-map.hh:34
void add(const std::string &name, core::ProblemSolverPtr_t ps)
boost::mutex mutex_t
Definition: problem-solver-map.hh:35
ReturnType keys() const
Definition: problem-solver-map.hh:55
core::ProblemSolverPtr_t get(const std::string &name) const
std::map< std::string, core::ProblemSolverPtr_t > ProblemMap_t
Definition: problem-solver-map.hh:33
ProblemSolverMap(const ProblemSolverMap &map)
shared_ptr< mutex_t > mutexPtr_t
Definition: problem-solver-map.hh:36
#define HPP_CORBASERVER_DLLAPI
Definition: config.hh:64
Implement CORBA interface `‘Obstacle’'.
Definition: basic-server.hh:27