39 #ifndef ORO_MQ_TEMPATE_PROTOCOL_HPP 40 #define ORO_MQ_TEMPATE_PROTOCOL_HPP 43 #include "../../types/TypeMarshaller.hpp" 47 #include <boost/type_traits/has_virtual_destructor.hpp> 48 #include <boost/static_assert.hpp> 78 if (
sizeof(T) <= (
unsigned int)size)
79 return std::make_pair(source->getRawConstPointer(), int(
sizeof(T)));
80 return std::make_pair((
void const*)0,
int(0));
86 assert( size ==
sizeof(T) );
88 ad->
set( *(T*)(blob) );
virtual void set(param_t t)=0
virtual unsigned int getSampleSize(base::DataSourceBase::shared_ptr ignored, void *cookie) const
static AssignableDataSource< T > * narrow(base::DataSourceBase *db)
virtual std::pair< void const *, int > fillBlob(base::DataSourceBase::shared_ptr source, void *blob, int size, void *cookie) const
boost::intrusive_ptr< AssignableDataSource< T > > shared_ptr
BOOST_STATIC_ASSERT(!boost::has_virtual_destructor< T >::value)
boost::intrusive_ptr< DataSourceBase > shared_ptr
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
virtual bool updateFromBlob(const void *blob, int size, base::DataSourceBase::shared_ptr target, void *cookie) const