|
@@ -23,7 +23,7 @@
|
|
// A base implementation of RtlTypeInfo
|
|
// A base implementation of RtlTypeInfo
|
|
struct ECLRTL_API RtlTypeInfoBase : public RtlTypeInfo
|
|
struct ECLRTL_API RtlTypeInfoBase : public RtlTypeInfo
|
|
{
|
|
{
|
|
- inline RtlTypeInfoBase(unsigned _fieldType, unsigned _length) : RtlTypeInfo(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlTypeInfoBase(unsigned _fieldType, unsigned _length) : RtlTypeInfo(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
@@ -40,7 +40,7 @@ struct ECLRTL_API RtlTypeInfoBase : public RtlTypeInfo
|
|
|
|
|
|
struct ECLRTL_API RtlBoolTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlBoolTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlBoolTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlBoolTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
@@ -49,7 +49,7 @@ struct ECLRTL_API RtlBoolTypeInfo : public RtlTypeInfoBase
|
|
|
|
|
|
struct ECLRTL_API RtlRealTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlRealTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlRealTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlRealTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
@@ -61,7 +61,7 @@ private:
|
|
//MORE: Create specialist versions
|
|
//MORE: Create specialist versions
|
|
struct ECLRTL_API RtlIntTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlIntTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlIntTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlIntTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
@@ -70,7 +70,7 @@ struct ECLRTL_API RtlIntTypeInfo : public RtlTypeInfoBase
|
|
|
|
|
|
struct ECLRTL_API RtlSwapIntTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlSwapIntTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlSwapIntTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlSwapIntTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
@@ -79,7 +79,7 @@ struct ECLRTL_API RtlSwapIntTypeInfo : public RtlTypeInfoBase
|
|
|
|
|
|
struct ECLRTL_API RtlPackedIntTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlPackedIntTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlPackedIntTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlPackedIntTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
@@ -89,7 +89,7 @@ struct ECLRTL_API RtlPackedIntTypeInfo : public RtlTypeInfoBase
|
|
|
|
|
|
struct ECLRTL_API RtlStringTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlStringTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlStringTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlStringTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
@@ -99,7 +99,7 @@ struct ECLRTL_API RtlStringTypeInfo : public RtlTypeInfoBase
|
|
|
|
|
|
struct ECLRTL_API RtlDataTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlDataTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlDataTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlDataTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
@@ -109,7 +109,7 @@ struct ECLRTL_API RtlDataTypeInfo : public RtlTypeInfoBase
|
|
|
|
|
|
struct ECLRTL_API RtlVarStringTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlVarStringTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlVarStringTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlVarStringTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
@@ -119,7 +119,7 @@ struct ECLRTL_API RtlVarStringTypeInfo : public RtlTypeInfoBase
|
|
|
|
|
|
struct ECLRTL_API RtlQStringTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlQStringTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlQStringTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlQStringTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
@@ -129,7 +129,7 @@ struct ECLRTL_API RtlQStringTypeInfo : public RtlTypeInfoBase
|
|
|
|
|
|
struct ECLRTL_API RtlDecimalTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlDecimalTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlDecimalTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlDecimalTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
@@ -141,7 +141,7 @@ struct ECLRTL_API RtlDecimalTypeInfo : public RtlTypeInfoBase
|
|
|
|
|
|
struct ECLRTL_API RtlCharTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlCharTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlCharTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlCharTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
@@ -151,7 +151,7 @@ struct ECLRTL_API RtlCharTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlUnicodeTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlUnicodeTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
public:
|
|
public:
|
|
- inline RtlUnicodeTypeInfo(unsigned _fieldType, unsigned _length, const char * _locale) : RtlTypeInfoBase(_fieldType, _length), locale(_locale) {}
|
|
|
|
|
|
+ constexpr inline RtlUnicodeTypeInfo(unsigned _fieldType, unsigned _length, const char * _locale) : RtlTypeInfoBase(_fieldType, _length), locale(_locale) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
@@ -167,7 +167,7 @@ protected:
|
|
struct ECLRTL_API RtlVarUnicodeTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlVarUnicodeTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
public:
|
|
public:
|
|
- inline RtlVarUnicodeTypeInfo(unsigned _fieldType, unsigned _length, const char * _locale) : RtlTypeInfoBase(_fieldType, _length), locale(_locale) {}
|
|
|
|
|
|
+ constexpr inline RtlVarUnicodeTypeInfo(unsigned _fieldType, unsigned _length, const char * _locale) : RtlTypeInfoBase(_fieldType, _length), locale(_locale) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
@@ -183,7 +183,7 @@ protected:
|
|
struct ECLRTL_API RtlUtf8TypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlUtf8TypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
public:
|
|
public:
|
|
- inline RtlUtf8TypeInfo(unsigned _fieldType, unsigned _length, const char * _locale) : RtlTypeInfoBase(_fieldType, _length), locale(_locale) {}
|
|
|
|
|
|
+ constexpr inline RtlUtf8TypeInfo(unsigned _fieldType, unsigned _length, const char * _locale) : RtlTypeInfoBase(_fieldType, _length), locale(_locale) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
@@ -198,7 +198,7 @@ protected:
|
|
|
|
|
|
struct ECLRTL_API RtlRecordTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlRecordTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlRecordTypeInfo(unsigned _fieldType, unsigned _length, const RtlFieldInfo * const * _fields) : RtlTypeInfoBase(_fieldType, _length), fields(_fields) {}
|
|
|
|
|
|
+ constexpr inline RtlRecordTypeInfo(unsigned _fieldType, unsigned _length, const RtlFieldInfo * const * _fields) : RtlTypeInfoBase(_fieldType, _length), fields(_fields) {}
|
|
const RtlFieldInfo * const * fields; // null terminated
|
|
const RtlFieldInfo * const * fields; // null terminated
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
@@ -210,7 +210,7 @@ struct ECLRTL_API RtlRecordTypeInfo : public RtlTypeInfoBase
|
|
|
|
|
|
struct ECLRTL_API RtlCompoundTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlCompoundTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlCompoundTypeInfo(unsigned _fieldType, unsigned _length, const RtlTypeInfo * _child) : RtlTypeInfoBase(_fieldType, _length), child(_child) {}
|
|
|
|
|
|
+ constexpr inline RtlCompoundTypeInfo(unsigned _fieldType, unsigned _length, const RtlTypeInfo * _child) : RtlTypeInfoBase(_fieldType, _length), child(_child) {}
|
|
const RtlTypeInfo * child;
|
|
const RtlTypeInfo * child;
|
|
|
|
|
|
virtual const RtlTypeInfo * queryChildType() const { return child; }
|
|
virtual const RtlTypeInfo * queryChildType() const { return child; }
|
|
@@ -219,7 +219,7 @@ struct ECLRTL_API RtlCompoundTypeInfo : public RtlTypeInfoBase
|
|
|
|
|
|
struct ECLRTL_API RtlSetTypeInfo : public RtlCompoundTypeInfo
|
|
struct ECLRTL_API RtlSetTypeInfo : public RtlCompoundTypeInfo
|
|
{
|
|
{
|
|
- inline RtlSetTypeInfo(unsigned _fieldType, unsigned _length, const RtlTypeInfo * _child) : RtlCompoundTypeInfo(_fieldType, _length, _child) {}
|
|
|
|
|
|
+ constexpr inline RtlSetTypeInfo(unsigned _fieldType, unsigned _length, const RtlTypeInfo * _child) : RtlCompoundTypeInfo(_fieldType, _length, _child) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
@@ -229,7 +229,7 @@ struct ECLRTL_API RtlSetTypeInfo : public RtlCompoundTypeInfo
|
|
|
|
|
|
struct ECLRTL_API RtlRowTypeInfo : public RtlCompoundTypeInfo
|
|
struct ECLRTL_API RtlRowTypeInfo : public RtlCompoundTypeInfo
|
|
{
|
|
{
|
|
- inline RtlRowTypeInfo(unsigned _fieldType, unsigned _length, const RtlTypeInfo * _child) : RtlCompoundTypeInfo(_fieldType, _length, _child) {}
|
|
|
|
|
|
+ constexpr inline RtlRowTypeInfo(unsigned _fieldType, unsigned _length, const RtlTypeInfo * _child) : RtlCompoundTypeInfo(_fieldType, _length, _child) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
@@ -239,7 +239,7 @@ struct ECLRTL_API RtlRowTypeInfo : public RtlCompoundTypeInfo
|
|
|
|
|
|
struct ECLRTL_API RtlDatasetTypeInfo : public RtlCompoundTypeInfo
|
|
struct ECLRTL_API RtlDatasetTypeInfo : public RtlCompoundTypeInfo
|
|
{
|
|
{
|
|
- inline RtlDatasetTypeInfo(unsigned _fieldType, unsigned _length, const RtlTypeInfo * _child) : RtlCompoundTypeInfo(_fieldType, _length, _child) {}
|
|
|
|
|
|
+ constexpr inline RtlDatasetTypeInfo(unsigned _fieldType, unsigned _length, const RtlTypeInfo * _child) : RtlCompoundTypeInfo(_fieldType, _length, _child) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
virtual size32_t build(ARowBuilder &builder, size32_t offset, const RtlFieldInfo *field, IFieldSource &source) const;
|
|
@@ -250,7 +250,7 @@ struct ECLRTL_API RtlDatasetTypeInfo : public RtlCompoundTypeInfo
|
|
|
|
|
|
struct ECLRTL_API RtlDictionaryTypeInfo : public RtlCompoundTypeInfo
|
|
struct ECLRTL_API RtlDictionaryTypeInfo : public RtlCompoundTypeInfo
|
|
{
|
|
{
|
|
- inline RtlDictionaryTypeInfo(unsigned _fieldType, unsigned _length, const RtlTypeInfo * _child, IHThorHashLookupInfo *_hashInfo)
|
|
|
|
|
|
+ constexpr inline RtlDictionaryTypeInfo(unsigned _fieldType, unsigned _length, const RtlTypeInfo * _child, IHThorHashLookupInfo *_hashInfo)
|
|
: RtlCompoundTypeInfo(_fieldType, _length, _child), hashInfo(_hashInfo) {}
|
|
: RtlCompoundTypeInfo(_fieldType, _length, _child), hashInfo(_hashInfo) {}
|
|
IHThorHashLookupInfo * hashInfo;
|
|
IHThorHashLookupInfo * hashInfo;
|
|
|
|
|
|
@@ -263,7 +263,7 @@ struct ECLRTL_API RtlDictionaryTypeInfo : public RtlCompoundTypeInfo
|
|
|
|
|
|
struct ECLRTL_API RtlIfBlockTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlIfBlockTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlIfBlockTypeInfo(unsigned _fieldType, unsigned _length, const RtlFieldInfo * const * _fields) : RtlTypeInfoBase(_fieldType, _length), fields(_fields) {}
|
|
|
|
|
|
+ constexpr inline RtlIfBlockTypeInfo(unsigned _fieldType, unsigned _length, const RtlFieldInfo * const * _fields) : RtlTypeInfoBase(_fieldType, _length), fields(_fields) {}
|
|
const RtlFieldInfo * const * fields; // null terminated
|
|
const RtlFieldInfo * const * fields; // null terminated
|
|
|
|
|
|
virtual bool getCondition(const byte * selfrow) const = 0;
|
|
virtual bool getCondition(const byte * selfrow) const = 0;
|
|
@@ -277,7 +277,7 @@ struct ECLRTL_API RtlIfBlockTypeInfo : public RtlTypeInfoBase
|
|
|
|
|
|
struct ECLRTL_API RtlBitfieldTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlBitfieldTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlBitfieldTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlBitfieldTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
@@ -290,7 +290,7 @@ protected:
|
|
|
|
|
|
struct ECLRTL_API RtlUnimplementedTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlUnimplementedTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
- inline RtlUnimplementedTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlUnimplementedTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
@@ -302,7 +302,7 @@ struct ECLRTL_API RtlUnimplementedTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlAlienTypeInfo : public RtlTypeInfoBase
|
|
struct ECLRTL_API RtlAlienTypeInfo : public RtlTypeInfoBase
|
|
{
|
|
{
|
|
public:
|
|
public:
|
|
- inline RtlAlienTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
+ constexpr inline RtlAlienTypeInfo(unsigned _fieldType, unsigned _length) : RtlTypeInfoBase(_fieldType, _length) {}
|
|
|
|
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const = 0;
|
|
virtual size32_t size(const byte * self, const byte * selfrow) const = 0;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|
|
virtual size32_t process(const byte * self, const byte * selfrow, const RtlFieldInfo * field, IFieldProcessor & target) const;
|