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 ();
46 core::ProblemSolverPtr_t selected ()
const;
47 core::ProblemSolverPtr_t
get (
const std::string& name)
const;
48 void selected (
const std::string& name);
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);
53 void replaceSelected (core::ProblemSolverPtr_t ps);
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_;
Implement CORBA interface ``Obstacle''.
Definition: basic-server.hh:27
boost::shared_ptr< ProblemMap_t > ProblemMapPtr_t
Definition: problem-solver-map.hh:34
boost::shared_ptr< mutex_t > mutexPtr_t
Definition: problem-solver-map.hh:36
const std::string & selectedName() const
Definition: problem-solver-map.hh:65
std::map< std::string, core::ProblemSolverPtr_t > ProblemMap_t
Definition: problem-solver-map.hh:33
#define HPP_CORBASERVER_DLLAPI
Definition: config.hh:64
Definition: problem-solver-map.hh:31
boost::mutex mutex_t
Definition: problem-solver-map.hh:35
ReturnType keys() const
Definition: problem-solver-map.hh:55