37 #ifndef OMPL_BASE_GOAL_
38 #define OMPL_BASE_GOAL_
40 #include "ompl/base/State.h"
41 #include "ompl/base/SpaceInformation.h"
42 #include "ompl/util/ClassForward.h"
43 #include "ompl/base/GoalTypes.h"
46 #include <boost/noncopyable.hpp>
47 #include <boost/concept_check.hpp>
56 OMPL_CLASS_FORWARD(Goal);
63 class Goal :
private boost::noncopyable
80 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, Goal*>));
82 return static_cast<T*
>(
this);
87 const T*
as(
void)
const
90 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, Goal*>));
92 return static_cast<const T*
>(
this);
104 return (
type_ & type) == type;
142 virtual void print(std::ostream &out = std::cout)
const;