Tanl Linguistic Pipeline

IXE::CompositeField Class Reference
[Reflection]

Composite fields. More...

#include <metaclass.h>

Inheritance diagram for IXE::CompositeField:
IXE::Field

List of all members.

Public Member Functions

 CompositeField (char const *name, Size offset, Size fsize, IndexType indexType, MetaClass *metaClass, std::type_info const *type, char const *merge=0)
virtual Fieldclone () const
virtual void clear (void **fieldPtr)
 for avoiding destructors
virtual Size size ()
 Size in bytes of field.
virtual Size packSize (byte *)
 Compute size of record needed for storing the field.
virtual bool isType (Type t)
 Check Field type.
virtual Itemitem ()
 Create an Item to store a value for the Field.
virtual MetaClassitemClass () const
 The metaclass of items.
virtual byte * store (byte *&dst, byte *src)
 CompositeField.
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 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 std::ostream & print (std::ostream &out)
 Display the Field information.

Protected Attributes

MetaClassmetaClass
Size fsize

Detailed Description

Composite fields.


Member Function Documentation

byte * IXE::CompositeField::fetch ( byte *  dst,
byte *&  src 
) [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.

virtual byte* IXE::CompositeField::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.

Size IXE::CompositeField::packSize ( byte *  base  )  [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::offset, and IXE::MetaClass::recordSize().

virtual std::ostream& IXE::CompositeField::print ( std::ostream &  out  )  [virtual]

Display the Field information.

Parameters:
out the output stream

Implements IXE::Field.

virtual Size IXE::CompositeField::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.


The documentation for this class was generated from the following files:
 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.