39 #ifndef ORO_UN_MEMBER_HPP 40 #define ORO_UN_MEMBER_HPP 42 #include <boost/shared_ptr.hpp> 43 #include <boost/mpl/erase.hpp> 44 #include <boost/mpl/insert.hpp> 45 #include <boost/mpl/begin_end.hpp> 46 #include <boost/mpl/next_prior.hpp> 47 #include <boost/mpl/vector.hpp> 48 #include <boost/mpl/back.hpp> 49 #include <boost/mpl/int.hpp> 50 #include <boost/type_traits.hpp> 51 #include <boost/function_types/function_type.hpp> 52 #include <boost/function_types/components.hpp> 53 #include <boost/function_types/member_function_pointer.hpp> 69 typedef typename boost::mpl::erase<
typename member_signature::types,
72 typedef typename boost::function_types::function_type<non_member_signature>::type
type;
80 template<
class F,
class Class>
85 typename boost::mpl::next<typename boost::mpl::begin<non_member_signature>::type>
::type,
88 typedef typename boost::function_types::member_function_pointer<with_member_signature>::type
type;
102 typedef typename boost::mpl::erase<
typename member_signature::types,
104 typedef typename boost::shared_ptr<typename boost::remove_const<typename boost::remove_reference<typename boost::mpl::at<typename member_signature::types,boost::mpl::int_<1> >
::type>
::type>
::type>
object_pointer;
107 typename boost::mpl::next<typename boost::mpl::begin<non_member_signature>::type>
::type,
113 typedef typename boost::function_types::function_type<arg_signature>::type
type;
124 typedef typename boost::function_types::function_type<signature>::type
type;
boost::function_types::components< F > member_signature
boost::function_types::function_type< arg_signature >::type type
boost::mpl::insert< non_member_signature, typename boost::mpl::next< typename boost::mpl::begin< non_member_signature >::type >::type, object_pointer >::type arg_signature
boost::mpl::erase< typename member_signature::types, typename boost::mpl::next< typename boost::mpl::begin< member_signature >::type >::type >::type non_member_signature
boost::function_types::components< F > signature
boost::function_types::function_type< signature >::type type
boost::function_types::function_type< non_member_signature >::type type
boost::mpl::erase< typename member_signature::types, typename boost::mpl::next< typename boost::mpl::begin< member_signature >::type >::type >::type non_member_signature
boost::shared_ptr< typename boost::remove_const< typename boost::remove_reference< typename boost::mpl::at< typename member_signature::types, boost::mpl::int_< 1 > >::type >::type >::type > object_pointer
boost::function_types::member_function_pointer< with_member_signature >::type type
boost::mpl::insert< non_member_signature, typename boost::mpl::next< typename boost::mpl::begin< non_member_signature >::type >::type, Class >::type with_member_signature
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
boost::function_types::components< F > member_signature
boost::function_types::components< F > non_member_signature