Fennel: /home/pub/open/dev/fennel/tuple/StoredTypeDescriptor.h Source File (original) (raw)

00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 #ifndef Fennel_StoredTypeDescriptor_Included 00025 #define Fennel_StoredTypeDescriptor_Included 00026 00027 FENNEL_BEGIN_NAMESPACE 00028 00029 class DataVisitor; 00030 00036 class FENNEL_TUPLE_EXPORT StoredTypeDescriptor 00037 { 00038 public: 00044 typedef uint Ordinal; 00045 00046 virtual ~StoredTypeDescriptor(); 00047 00051 virtual Ordinal getOrdinal() const = 0; 00052 00057 virtual uint getBitCount() const = 0; 00058 00064 virtual uint getFixedByteCount() const = 0; 00065 00075 virtual uint getMinByteCount(uint cbMaxWidth) const = 0; 00076 00087 virtual uint getAlignmentByteCount(uint cbWidth) const = 0; 00088 00099 virtual void visitValue( 00100 DataVisitor &dataVisitor, 00101 void const *pData, 00102 TupleStorageByteLength cbData) const = 0; 00103 00118 virtual int compareValues( 00119 void const *pData1, 00120 TupleStorageByteLength cbData1, 00121 void const *pData2, 00122 TupleStorageByteLength cbData2) const = 0; 00123 }; 00124 00125 FENNEL_END_NAMESPACE 00126 00127 #endif 00128 00129