Tanl Linguistic Pipeline

IXE::ArrayField< ArrayOf< T > > Class Template Reference

Inheritance diagram for IXE::ArrayField< ArrayOf< T > >:
IXE::Field

List of all members.

Public Member Functions

 ArrayField (char const *name, Size offset, Size maxLength, IndexType indexType, char const *merge=0)
virtual Fieldclone () const
virtual void clear (void **fieldPtr)
 for avoiding destructors
virtual bool isType (Type t)
 Check Field type.
virtual Size size ()
 Size in bytes of field.
virtual Size itemSize ()
virtual Size length (byte *base)
 Number of items, if field contains pointer (or else its size).
virtual Size packSize (byte *base)
 Compute size of record needed for storing the field.
virtual std::ostream & print (std::ostream &out)
 Display the Field information.
virtual Itemitem ()
 Create an Item to store a value for the Field.
virtual byte * fetch (byte *dst, byte *&src)
 Method to fetch fields from a buffer.
virtual byte * fetchKey (byte *dst, byte *src)
 Same as fetch() from key data, without header information, which gets converted from BigEndian order to host order.
virtual byte * store (byte *&dst, byte *src)
 Method to store fields into a buffer.
virtual Size storeKey (byte *dst, byte *src)
 Same as store() but without field header information, and BigEndian order to ensure comparison by bt_compare works.
virtual void setKey (byte *dst, byte const *value, Size &len, Size maxSize)
 Needed for (interactive) query processing: value to be stored is char*.

template<class T>
class IXE::ArrayField< ArrayOf< T > >


Member Function Documentation

template<class T >
virtual byte* IXE::ArrayField< ArrayOf< T > >::fetch ( byte *  dst,
byte *&  src 
) [inline, virtual]

Method to fetch fields from a buffer.

Parameters:
dst the location of the field.
src the buffer from which the field is fetched; it is advanced to the next field
Returns:
the position at the end of the field.

Implements IXE::Field.

template<class T >
virtual byte* IXE::ArrayField< ArrayOf< T > >::fetchKey ( byte *  dst,
byte *  src 
) [inline, virtual]

Same as fetch() from key data, without header information, which gets converted from BigEndian order to host order.

Parameters:
dst the location of the field.
src the buffer from which the field is fetched.
Returns:
the location of the field.

Implements IXE::Field.

template<class T >
virtual Size IXE::ArrayField< ArrayOf< T > >::itemSize (  )  [inline, virtual]
Returns:
the size of items, if this is a Reference, Var or ArrayField

Reimplemented from IXE::Field.

template<class T >
virtual Size IXE::ArrayField< ArrayOf< T > >::packSize ( byte *  base  )  [inline, virtual]

Compute size of record needed for storing the field.

This includes header information (eg. length) and padding for alignment

Parameters:
base the location of the object to be stored. If base == 0, return the maximum size.

Implements IXE::Field.

References IXE::Field::length().

template<class T >
virtual std::ostream& IXE::ArrayField< ArrayOf< T > >::print ( std::ostream &  out  )  [inline, virtual]

Display the Field information.

Parameters:
out the output stream

Implements IXE::Field.

References IXE::Field::maxLength_, IXE::Field::size(), and IXE::Field::type.

template<class T >
virtual void IXE::ArrayField< ArrayOf< T > >::setKey ( byte *  row,
byte const *  value,
Size &  len,
Size  maxLen 
) [inline, virtual]

Needed for (interactive) query processing: value to be stored is char*.

Used for VarField and Array field. Does not advance row.

Reimplemented from IXE::Field.

References IXE::Field::length().

template<class T >
virtual byte* IXE::ArrayField< ArrayOf< T > >::store ( byte *&  dst,
byte *  src 
) [inline, virtual]

Method to store fields into a buffer.

Advances dst to next field.

Parameters:
dst the buffer where to store the field; it is advanced to the next field.
src the field in the object being stored.
Returns:
the position at the end of the field.

Implements IXE::Field.

References IXE::Field::length().

template<class T >
virtual Size IXE::ArrayField< ArrayOf< T > >::storeKey ( byte *  dst,
byte *  src 
) [inline, virtual]

Same as store() but without field header information, and BigEndian order to ensure comparison by bt_compare works.

Parameters:
dst the buffer where to store the field.
src the field in the object being stored.
Returns:
the size of the field.

Implements IXE::Field.

References IXE::Field::length().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
 
Copyright © 2005-2011 G. Attardi. Generated on 4 Mar 2011 by doxygen 1.6.1.