37 #ifndef OMPL_CONTROL_CONTROL_
38 #define OMPL_CONTROL_CONTROL_
40 #include <boost/concept_check.hpp>
75 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, Control*>));
77 return static_cast<const T*
>(
this);
85 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, Control*>));
87 return static_cast<T*
>(
this);
107 const T*
as(
const unsigned int index)
const
110 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, Control*>));
112 return static_cast<const T*
>(
components[index]);
117 T*
as(
const unsigned int index)
120 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, Control*>));
const T * as() const
Cast this instance to a desired type.
Definition of an abstract control.
const T * as(const unsigned int index) const
Cast a component of this instance to a desired type.
T * as()
Cast this instance to a desired type.
Control ** components
The components that make up a compound control.
Main namespace. Contains everything in this library.
Definition of a compound control.
T * as(const unsigned int index)
Cast a component of this instance to a desired type.