37 #ifndef OMPL_BASE_STATE_
38 #define OMPL_BASE_STATE_
40 #include <boost/concept_check.hpp>
74 const T*
as(
void)
const
77 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, State*>));
79 return static_cast<const T*
>(
this);
87 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, State*>));
89 return static_cast<T*
>(
this);
109 const T*
as(
const unsigned int index)
const
112 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, State*>));
114 return static_cast<const T*
>(
components[index]);
119 T*
as(
const unsigned int index)
122 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, State*>));
Definition of a compound state.
State * operator[](unsigned int i) const
Access element ith component. This does not check whether the index is within bounds.
T * as(void)
Cast this instance to a desired type.
const T * as(void) const
Cast this instance to a desired type.
Definition of an abstract state.
T * as(const unsigned int index)
Cast a component of this instance to a desired type.
State ** components
The components that make up a compound state.
const T * as(const unsigned int index) const
Cast a component of this instance to a desired type.