TuttleOFX  1
TuttleOFX/libraries/tuttle/src/tuttle/host/ofx/attribute/OfxhClipDescriptor.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_HOST_OFX_ATTRIBUTE_CLIPDESCRIPTOR_HPP_
00002 #define _TUTTLE_HOST_OFX_ATTRIBUTE_CLIPDESCRIPTOR_HPP_
00003 
00004 #include "OfxhAttributeAccessor.hpp"
00005 #include "OfxhAttributeDescriptor.hpp"
00006 #include "OfxhClipAccessor.hpp"
00007 
00008 namespace tuttle {
00009 namespace host {
00010 namespace ofx {
00011 namespace attribute {
00012 
00013 /**
00014  * a clip descriptor
00015  */
00016 class OfxhClipDescriptor
00017         : public OfxhAttributeDescriptor
00018         , virtual public OfxhClipAccessor
00019 {
00020 public:
00021         typedef OfxhClipDescriptor This;
00022 
00023 public:
00024         /// constructor
00025         OfxhClipDescriptor();
00026         OfxhClipDescriptor( const property::OfxhSet& );
00027 
00028         virtual ~OfxhClipDescriptor() = 0;
00029 
00030         bool operator==( const This& other ) const
00031         {
00032                 if( OfxhAttributeDescriptor::operator!=( other ) )
00033                         return false;
00034                 return true;
00035         }
00036 
00037         bool operator!=( const This& other ) const { return !This::operator==( other ); }
00038 
00039 private:
00040         friend class boost::serialization::access;
00041         template<class Archive>
00042         void serialize( Archive& ar, const unsigned int version )
00043         {
00044                 ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP( OfxhAttributeDescriptor );
00045         }
00046 
00047 };
00048 
00049 }
00050 }
00051 }
00052 }
00053 
00054 // force boost::is_virtual_base_of value (used by boost::serialization)
00055 namespace boost {
00056 template<>
00057 struct is_virtual_base_of<tuttle::host::ofx::attribute::OfxhAttributeDescriptor, tuttle::host::ofx::attribute::OfxhClipDescriptor>: public mpl::true_ {};
00058 }
00059 
00060 #endif
00061