35 #ifndef IE_CORE_COMPOUNDDATACONVERSION_H
36 #define IE_CORE_COMPOUNDDATACONVERSION_H
38 #include "boost/static_assert.hpp"
39 #include "boost/type_traits.hpp"
41 #include "IECore/DataConversion.h"
48 template<
typename C1,
typename C2>
53 BOOST_STATIC_ASSERT( (boost::is_same< typename C1::ToType, typename C2::FromType >::value) );
65 typename CompoundDataConversion<C1, C2>::ToType
operator()(
typename CompoundDataConversion<C1, C2>::FromType f )
const;
78 #include "CompoundDataConversion.inl"
80 #endif // IE_CORE_COMPOUNDDATACONVERSION_H
CompoundDataConversion< typename C2::InverseType, typename C1::InverseType > InverseType
Inverse defined by the equality: (f o g)'(x) = ( g' o f' )(x)
Definition: CompoundDataConversion.h:56
InverseType inverse() const
Returns an instance of a class able to perform the inverse conversion.
CompoundDataConversion< C1, C2 >::ToType operator()(typename CompoundDataConversion< C1, C2 >::FromType f) const
Perform the conversion.
Base class for data conversions.
Definition: DataConversion.h:47
BOOST_STATIC_ASSERT((boost::is_same< typename C1::ToType, typename C2::FromType >::value))
These two types must be the same, so that the function composition works.
Definition: CompoundDataConversion.h:49
CompoundDataConversion()
Instantiate a conversion using the default constructors for C1 and C2.
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43