PinFlist Class Reference

List of all members.

Public Member Functions

 ~PinFlist ()

Private Member Functions

void operator= (const PinFlist &)
void * _get (const u_int32 fldnum, const PinBool optional=PIN_BOOLEAN_FALSE) const
void * _take (const u_int32 fldnum, const PinBool optional=PIN_BOOLEAN_FALSE)
void _set (const u_int32 fldnum, const void *vp)
void _put (const u_int32 fldnum, const void *vp)
void _set (const u_int32 fldnum, const void *vp, const PinRecId id)
void _put (const u_int32 fldnum, const void *vp, const PinRecId id)
void _rename (const pin_fld_num_t srcfldnum, const pin_fld_num_t destfldnum)
bool _copyFrom (pin_flist_t *src_flistp, const pin_fld_num_t srcfldnum, const pin_fld_num_t destfldnum)
bool _copyFrom (pin_flist_t *src_flistp, const pin_fld_num_t srcfldnum, const PinRecId srcId, const pin_fld_num_t destfldnum, const PinRecId destId)
bool _moveFrom (pin_flist_t *src_flistp, const pin_fld_num_t srcfldnum, const pin_fld_num_t destfldnum)
bool _moveFrom (pin_flist_t *src_flistp, const pin_fld_num_t srcfldnum, const PinRecId srcId, const pin_fld_num_t destfldnum, const PinRecId destId)

Private Attributes

PinBool m_owns
pin_flist_t * m_flistp

Public Factory Methods



static PinFlistOwner create ()
static PinFlistObserver createAsObserved (pin_flist_t *flistp)
static PinFlistObserverConst createAsObservedConst (pin_flist_t *flistp)
static PinFlistOwner createAsOwned (pin_flist_t *flistp)
static PinFlistOwner createFromString (const char *flistStr)

Public Member Functions for INT fields



PinIntObserverConst get (const PinIntTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE) const
PinIntObserver get (const PinIntTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
PinIntOwner take (const PinIntTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
void set (const PinIntTypeField &fld, const PinInt val)
void set (const PinIntTypeField &fld, const PinIntBase &val)
void put (const PinIntTypeField &fld, PinIntOwner &)
void rename (const PinIntTypeField &srcFld, const PinIntTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinIntTypeField &srcFld, const PinIntTypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinIntTypeField &srcFld, const PinIntTypeField &destFld)

Public Member Functions for UINT fields

See methods dealing with INT fields.

PinUintObserverConst get (const PinUintTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE) const
PinUintObserver get (const PinUintTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
PinUintOwner take (const PinUintTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
void set (const PinUintTypeField &fld, const PinUint)
void set (const PinUintTypeField &fld, const PinUintBase &)
void put (const PinUintTypeField &fld, PinUintOwner &)
void rename (const PinUintTypeField &srcFld, const PinUintTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinUintTypeField &srcFld, const PinUintTypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinUintTypeField &srcFld, const PinUintTypeField &destFld)

Public Member Functions for ENUM fields

See methods dealing with INT fields.

PinEnumObserverConst get (const PinEnumTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE) const
PinEnumObserver get (const PinEnumTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
PinEnumOwner take (const PinEnumTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
void set (const PinEnumTypeField &fld, const PinEnum)
void set (const PinEnumTypeField &fld, const PinEnumBase &)
void put (const PinEnumTypeField &fld, PinEnumOwner &)
void rename (const PinEnumTypeField &srcFld, const PinEnumTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinEnumTypeField &srcFld, const PinEnumTypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinEnumTypeField &srcFld, const PinEnumTypeField &destFld)

Public Member Functions for NUM fields.

See methods dealing with INT fields.

PinNumObserverConst get (const PinNumTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE) const
PinNumObserver get (const PinNumTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
PinNumOwner take (const PinNumTypeField &fld, const PinBool optional)
void set (const PinNumTypeField &fld, const PinNum)
void set (const PinNumTypeField &fld, const PinNumBase &)
void put (const PinNumTypeField &fld, PinNumOwner &)
void rename (const PinNumTypeField &srcFld, const PinNumTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinNumTypeField &srcFld, const PinNumTypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinNumTypeField &srcFld, const PinNumTypeField &destFld)

Public Member Functions for DECIMAL fields

See methods dealing with INT fields.

PinBigDecimalObserverConst get (const PinBigDecimalTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE) const
PinBigDecimalObserver get (const PinBigDecimalTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
PinBigDecimalOwner take (const PinBigDecimalTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
void set (const PinBigDecimalTypeField &fld, const PinBigDecimal &)
void set (const PinBigDecimalTypeField &fld, const PinBigDecimalBase &)
void rename (const PinBigDecimalTypeField &srcFld, const PinBigDecimalTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinBigDecimalTypeField &srcFld, const PinBigDecimalTypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinBigDecimalTypeField &srcFld, const PinBigDecimalTypeField &destFld)

Public Member Functions for STR fields

See methods dealing with INT fields.

PinStrObserverConst get (const PinStrTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE) const
PinStrObserver get (const PinStrTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
PinStrOwner take (const PinStrTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
void set (const PinStrTypeField &fld, PinStrConst)
void set (const PinStrTypeField &fld, const PinStrBase &)
void put (const PinStrTypeField &fld, PinStrOwner &)
void rename (const PinStrTypeField &srcFld, const PinStrTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinStrTypeField &srcFld, const PinStrTypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinStrTypeField &srcFld, const PinStrTypeField &destFld)

Public Member Functions for BINSTR fields

See methods dealing with INT fields.

PinBinstrObserverConst get (const PinBinstrTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE) const
PinBinstrObserver get (const PinBinstrTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
PinBinstrOwner take (const PinBinstrTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
void set (const PinBinstrTypeField &fld, const PinBinstrStruct)
void set (const PinBinstrTypeField &fld, const PinBinstrBase &)
void put (const PinBinstrTypeField &fld, PinBinstrOwner &)
void rename (const PinBinstrTypeField &srcFld, const PinBinstrTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinBinstrTypeField &srcFld, const PinBinstrTypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinBinstrTypeField &srcFld, const PinBinstrTypeField &destFld)

Public Member Functions for POID fields.

See methods dealing with INT fields.

PinPoidObserverConst get (const PinPoidTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE) const
PinPoidObserver get (const PinPoidTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
PinPoidOwner take (const PinPoidTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
void set (const PinPoidTypeField &fld, const PinPoidBase &)
void put (const PinPoidTypeField &fld, PinPoidOwner &)
void rename (const PinPoidTypeField &srcFld, const PinPoidTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinPoidTypeField &srcFld, const PinPoidTypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinPoidTypeField &srcFld, const PinPoidTypeField &destFld)

Public Member Functions for TSTAMP fields

See methods dealing with INT fields.

PinTstampObserverConst get (const PinTstampTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE) const
PinTstampObserver get (const PinTstampTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
PinTstampOwner take (const PinTstampTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
void set (const PinTstampTypeField &fld, PinTstamp)
void set (const PinTstampTypeField &fld, const PinTstampBase &)
void put (const PinTstampTypeField &fld, PinTstampOwner &)
void rename (const PinTstampTypeField &srcFld, const PinTstampTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinTstampTypeField &srcFld, const PinTstampTypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinTstampTypeField &srcFld, const PinTstampTypeField &destFld)

Public Member Functions for INT64 fields

See methods dealing with INT fields.

PinInt64ObserverConst get (const PinInt64TypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE) const
PinInt64Observer get (const PinInt64TypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
PinInt64Owner take (const PinInt64TypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
void set (const PinInt64TypeField &fld, int64)
void set (const PinInt64TypeField &fld, const PinInt64Base &)
void put (const PinInt64TypeField &fld, PinInt64Owner &)
void rename (const PinInt64TypeField &srcFld, const PinInt64TypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinInt64TypeField &srcFld, const PinInt64TypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinInt64TypeField &srcFld, const PinInt64TypeField &destFld)

Public Member Functions for EBUF fields

See methods dealing with INT fields.

PinErrorBufObserverConst get (const PinErrTypeField &fld, PinBool optional=PIN_BOOLEAN_FALSE) const
PinErrorBufObserver get (const PinErrTypeField &fld, PinBool optional=PIN_BOOLEAN_FALSE)
PinErrorBufOwner take (const PinErrTypeField &fld, PinBool optional=PIN_BOOLEAN_FALSE)
void set (const PinErrTypeField &fld, const PinErrorBuf &)
void set (const PinErrTypeField &fld, const PinErrorBufBase &)
void rename (const PinErrTypeField &srcFld, const PinErrTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinErrTypeField &srcFld, const PinErrTypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinErrTypeField &srcFld, const PinErrTypeField &destFld)

Public Member Functions for ARRAY fields



int count (const PinArrayTypeField &fld) const
PinFlistObserver add (const PinArrayTypeField &fld, PinRecId id)
PinFlistObserverConst get (const PinArrayTypeField &fld, const PinRecId id, const PinBool optional=PIN_BOOLEAN_FALSE) const
PinFlistObserver get (const PinArrayTypeField &fld, const PinRecId id, const PinBool optional=PIN_BOOLEAN_FALSE)
PinFlistOwner take (const PinArrayTypeField &fld, PinRecId id, const PinBool optional=PIN_BOOLEAN_FALSE)
void set (const PinArrayTypeField &fld, const PinFlistBase &val, const PinRecId id)
void put (const PinArrayTypeField &fld, PinFlistOwner &val, const PinRecId id)
void drop (const PinArrayTypeField &fld, const PinRecId id)
void rename (const PinArrayTypeField &srcFld, const PinArrayTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinArrayTypeField &srcFld, const PinArrayTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinArrayTypeField &srcFld, const PinRecId srcId, const PinArrayTypeField &destFld, const PinRecId destId)
bool moveFrom (const PinFlistBase &srcFlist, const PinArrayTypeField &srcFld, const PinArrayTypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinArrayTypeField &srcFld, const PinRecId srcId, const PinArrayTypeField &destFld, const PinRecId destId)
PinElemObservingIteratorConst getElements (const PinArrayTypeField &fld, const PinBool optional=PIN_BOOLEAN_TRUE) const
PinElemObservingIterator getElements (const PinArrayTypeField &fld, const PinBool optional=PIN_BOOLEAN_TRUE) const
PinElemObservingIterator getElements (const PinArrayTypeField &fld, const PinBool optional=PIN_BOOLEAN_TRUE)
PinElemDroppingIterator getDroppableElements (const PinArrayTypeField &fld, const PinBool optional=PIN_BOOLEAN_TRUE)
PinElemOwningIterator takeElements (const PinArrayTypeField &fld, const PinBool optional=PIN_BOOLEAN_TRUE)

Public Member Functions for SUBSTRUCT fields



PinFlistObserver add (const PinSubTypeField &fld)
void drop (const PinSubTypeField &fld)
PinFlistObserverConst get (const PinSubTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE) const
PinFlistObserver get (const PinSubTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
PinFlistOwner take (const PinSubTypeField &fld, const PinBool optional=PIN_BOOLEAN_FALSE)
void set (const PinSubTypeField &fld, const PinFlistBase &)
void put (const PinSubTypeField &fld, PinFlistOwner &)
void rename (const PinSubTypeField &srcFld, const PinSubTypeField &destFld)
bool copyFrom (const PinFlistBase &srcFlist, const PinSubTypeField &srcFld, const PinSubTypeField &destFld)
bool moveFrom (const PinFlistBase &srcFlist, const PinSubTypeField &srcFld, const PinSubTypeField &destFld)

Other Public Member Functions



void drop (const PinAnyTypeField &fld)
void appendFlist (PinFlistBase &flist)
int count () const
PinAnyObservingIterator getFields ()
void sort (const PinFlistBase &sortlist, const int32 descending=0, const int32 sortDefault=0)
void sortRecursively (const PinFlistBase &sortlist, const int32 descending=0, const int32 sortDefault=0)
PinFlistOwner clone () const
PinBool isNull () const
const pin_flist_t * get () const
pin_flist_t * get () const
pin_flist_t * get ()
pin_flist_t * release ()

Semi-public constructors and member Functions



 PinFlist ()
void grab (pin_flist_t *flistp, int owns)
void takeFrom (PinFlist &)
void copyFrom (const PinFlist &)


Detailed Description

The PinFlist class manage a C flist pointer. This class is intended to be used via a PinFlistObserver or PinFlistOwner wrapper class.

Constructor & Destructor Documentation

PinFlist::~PinFlist (  ) 

Destructor

PinFlist::PinFlist (  ) 

Make a new PinFlist.

Warning:
This is intended for use by PinBase. Use the public factory methods instead.


Member Function Documentation

PinFlistOwner PinFlist::create (  )  [static]

Create an empty flist

Returns:
PinFlistOwner : Instance of the flist owner wrapper

PinFlistObserver PinFlist::createAsObserved ( pin_flist_t *  flistp  )  [static]

Create a C++ observer wrapper for a C-style flist. This means that the flist will not be deleted when the object goes out of scope

Parameters:
flistp Pointer to flist to wrap
Returns:
PinFlistObserver Instance of the flist observer wrapper

PinFlistObserverConst PinFlist::createAsObservedConst ( pin_flist_t *  flistp  )  [static]

Create a C++ const observer wrapper for a C-style flist. This means that the flist will not be deleted when the object goes out of scope. Also, only const operations will be allowed.

Parameters:
flistp Pointer to flist to wrap
Returns:
PinFlistObserverConst Instance of the flist observer wrapper

PinFlistOwner PinFlist::createAsOwned ( pin_flist_t *  flistp  )  [static]

Create a C++ owner wrapper for a C-style flist. This means that the flist will be deleted when the object goes out of scope

Parameters:
flist Pointer to the flist to wrap
Returns:
PinFlistOwner Instance of the flist owner wrapper

PinFlistOwner PinFlist::createFromString ( const char *  flistStr  )  [static]

Create an flist object from the string that contains a serialized string of the flist

Parameters:
flistStr pointer to the flist string represetnation
Returns:
PinFlistOwner Instance of the flist owner wrapper

PinIntObserverConst PinFlist::get ( const PinIntTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const

Get access to the value of integer field from the flist and leaves the flist unchanged.

Parameters:
fld name of field to retrieve (eg tsf_PIN_FLD_XXXX)
optional indicator of whether the field is optional or not, indicates the field is required if the param is not passed in
Returns:
PinIntObserverConst observer of the integer value
Exceptions:
PinDeterminateException If the field is not present and the optional indicator is set to FALSE, then an exception occurs.

PinIntObserver PinFlist::get ( const PinIntTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

Get access to the value of integer field from the flist and leaves the flist unchanged.

Parameters:
fld name of field to retrieve (eg tsf_PIN_FLD_XXXX)
optional indicator of whether the field is optional or not, indicates the field is required if the param is not passed in
Returns:
PinIntObserver observer of the integer value
Exceptions:
PinDeterminateException If the field is not present and the optional indicator is set to FALSE, then an exception occurs.

PinIntOwner PinFlist::take ( const PinIntTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

Remove an integer field from the flist and take ownership of the value via an integer owner wrapper which manages the memory.

Parameters:
fld name of field to retrieve (eg tsf_PIN_FLD_XXXX)
optional indicator of whether the field is optional or not indicates the field is required if the param is not passed in
Returns:
PinIntOwner owner of the integer value
Exceptions:
PinDeterminateException If the field is not present and the optional indicator is set to FALSE, then an exception occurs.
Deprecated:
Since the flist uses its own internal heap in 6.7, this actually results in an unnecessary copy of the value. Use get() instead.

void PinFlist::set ( const PinIntTypeField &  fld,
const PinInt  val 
)

Add a new integer field to the flist. If the field already exists, just change the value. The value is copied into the flist.

Parameters:
fld name of field to add or change (eg tsf_PIN_FLD_XXXX)
val integer value of the field
Exceptions:
PinDeterminateException Throw on errors, usually fatal.

void PinFlist::set ( const PinIntTypeField &  fld,
const PinIntBase &  val 
)

Add a new integer field to the flist. If the field already exists, just change the value. The value is copied into the flist. Used when "getting" a value from one flist and "setting" it into another via a wrapper.

Parameters:
fld name of field to add or change (eg tsf_PIN_FLD_XXXX)
val int wrapper for the value.
Exceptions:
PinDeterminateException Throw on errors, usually fatal.

void PinFlist::put ( const PinIntTypeField &  fld,
PinIntOwner &  owner 
)

Add a new integer field to the flist. If the field already exists, just change the value. The value is copied into the flist. Used when "taking" a value from one flist and "puting" it into another via a wrapper. The ownership is usurped over from te passed in owner wrapper "val". Note that "val" will no longer be valid after this method.

Parameters:
fld name of field to add or change (eg tsf_PIN_FLD_XXXX)
val int owner wrapper for the value.
Exceptions:
PinDeterminateException Throw on errors, usually fatal.

void PinFlist::rename ( const PinIntTypeField &  srcFld,
const PinIntTypeField &  destFld 
)

rename an integer field on the flist if it exists to a new field of same type Throws an exception if source field is not found

Parameters:
fld name of field to rename(eg tsf_PIN_FLD_XXXX)
new fld name.
Exceptions:
PinDeterminateException Throw on errors, usually fatal.

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinIntTypeField &  srcFld,
const PinIntTypeField &  destFld 
)

copy an integer field from the given src flist over to this flist, using destFld as the new field name If destFld is already present, overwrite it

Parameters:
src flist to copy from
fld name of field to copy(eg tsf_PIN_FLD_XXXX)
fld name on this flist
Returns:
boolean indicator of whether src field was found. When not found it is not considered an error.
Exceptions:
PinDeterminateException Throw on errors, usually fatal.

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinIntTypeField &  srcFld,
const PinIntTypeField &  destFld 
)

move an integer field from the given src flist over to this flist, using destFld as the new field name If destFld is already present, overwrite it

Parameters:
src flist to move from
fld name of field to move(eg tsf_PIN_FLD_XXXX)
fld name on this flist
Returns:
boolean indicator of whether src field was found. When not found it is not considered an error.
Exceptions:
PinDeterminateException Throw on errors, usually fatal.

PinUintObserverConst PinFlist::get ( const PinUintTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const

PinUintObserver PinFlist::get ( const PinUintTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

PinUintOwner PinFlist::take ( const PinUintTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

void PinFlist::set ( const PinUintTypeField &  fld,
const PinUint  i 
)

void PinFlist::set ( const PinUintTypeField &  fld,
const PinUintBase &  observer 
)

void PinFlist::put ( const PinUintTypeField &  fld,
PinUintOwner &  owner 
)

void PinFlist::rename ( const PinUintTypeField &  srcFld,
const PinUintTypeField &  destFld 
)

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinUintTypeField &  srcFld,
const PinUintTypeField &  destFld 
)

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinUintTypeField &  srcFld,
const PinUintTypeField &  destFld 
)

PinEnumObserverConst PinFlist::get ( const PinEnumTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const

PinEnumObserver PinFlist::get ( const PinEnumTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

PinEnumOwner PinFlist::take ( const PinEnumTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

void PinFlist::set ( const PinEnumTypeField &  fld,
const PinEnum  i 
)

void PinFlist::set ( const PinEnumTypeField &  fld,
const PinEnumBase &  observer 
)

void PinFlist::put ( const PinEnumTypeField &  fld,
PinEnumOwner &  owner 
)

void PinFlist::rename ( const PinEnumTypeField &  srcFld,
const PinEnumTypeField &  destFld 
)

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinEnumTypeField &  srcFld,
const PinEnumTypeField &  destFld 
)

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinEnumTypeField &  srcFld,
const PinEnumTypeField &  destFld 
)

PinNumObserverConst PinFlist::get ( const PinNumTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const

PinNumObserver PinFlist::get ( const PinNumTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

PinNumOwner PinFlist::take ( const PinNumTypeField &  fld,
const PinBool  optional 
)

void PinFlist::set ( const PinNumTypeField &  fld,
const PinNum  i 
)

void PinFlist::set ( const PinNumTypeField &  fld,
const PinNumBase &  observer 
)

void PinFlist::put ( const PinNumTypeField &  fld,
PinNumOwner &  owner 
)

void PinFlist::rename ( const PinNumTypeField &  srcFld,
const PinNumTypeField &  destFld 
)

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinNumTypeField &  srcFld,
const PinNumTypeField &  destFld 
)

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinNumTypeField &  srcFld,
const PinNumTypeField &  destFld 
)

PinBigDecimalObserverConst PinFlist::get ( const PinBigDecimalTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const

PinBigDecimalObserver PinFlist::get ( const PinBigDecimalTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

PinBigDecimalOwner PinFlist::take ( const PinBigDecimalTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

void PinFlist::set ( const PinBigDecimalTypeField &  fld,
const PinBigDecimal &  rebel 
)

void PinFlist::set ( const PinBigDecimalTypeField &  fld,
const PinBigDecimalBase &  observer 
)

void PinFlist::rename ( const PinBigDecimalTypeField &  srcFld,
const PinBigDecimalTypeField &  destFld 
)

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinBigDecimalTypeField &  srcFld,
const PinBigDecimalTypeField &  destFld 
)

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinBigDecimalTypeField &  srcFld,
const PinBigDecimalTypeField &  destFld 
)

PinStrObserverConst PinFlist::get ( const PinStrTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const

PinStrObserver PinFlist::get ( const PinStrTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

PinStrOwner PinFlist::take ( const PinStrTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

void PinFlist::set ( const PinStrTypeField &  fld,
PinStrConst  i 
)

void PinFlist::set ( const PinStrTypeField &  fld,
const PinStrBase &  observer 
)

void PinFlist::put ( const PinStrTypeField &  fld,
PinStrOwner &  owner 
)

void PinFlist::rename ( const PinStrTypeField &  srcFld,
const PinStrTypeField &  destFld 
)

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinStrTypeField &  srcFld,
const PinStrTypeField &  destFld 
)

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinStrTypeField &  srcFld,
const PinStrTypeField &  destFld 
)

PinBinstrObserverConst PinFlist::get ( const PinBinstrTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const

PinBinstrObserver PinFlist::get ( const PinBinstrTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

PinBinstrOwner PinFlist::take ( const PinBinstrTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

void PinFlist::set ( const PinBinstrTypeField &  fld,
const PinBinstrStruct  i 
)

void PinFlist::set ( const PinBinstrTypeField &  fld,
const PinBinstrBase &  observer 
)

void PinFlist::put ( const PinBinstrTypeField &  fld,
PinBinstrOwner &  owner 
)

void PinFlist::rename ( const PinBinstrTypeField &  srcFld,
const PinBinstrTypeField &  destFld 
)

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinBinstrTypeField &  srcFld,
const PinBinstrTypeField &  destFld 
)

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinBinstrTypeField &  srcFld,
const PinBinstrTypeField &  destFld 
)

PinPoidObserverConst PinFlist::get ( const PinPoidTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const

PinPoidObserver PinFlist::get ( const PinPoidTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

PinPoidOwner PinFlist::take ( const PinPoidTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

void PinFlist::set ( const PinPoidTypeField &  fld,
const PinPoidBase &  observer 
)

void PinFlist::put ( const PinPoidTypeField &  fld,
PinPoidOwner &  owner 
)

void PinFlist::rename ( const PinPoidTypeField &  srcFld,
const PinPoidTypeField &  destFld 
)

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinPoidTypeField &  srcFld,
const PinPoidTypeField &  destFld 
)

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinPoidTypeField &  srcFld,
const PinPoidTypeField &  destFld 
)

PinTstampObserverConst PinFlist::get ( const PinTstampTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const

PinTstampObserver PinFlist::get ( const PinTstampTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

PinTstampOwner PinFlist::take ( const PinTstampTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

void PinFlist::set ( const PinTstampTypeField &  fld,
PinTstamp  i 
)

void PinFlist::set ( const PinTstampTypeField &  fld,
const PinTstampBase &  observer 
)

void PinFlist::put ( const PinTstampTypeField &  fld,
PinTstampOwner &  owner 
)

void PinFlist::rename ( const PinTstampTypeField &  srcFld,
const PinTstampTypeField &  destFld 
)

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinTstampTypeField &  srcFld,
const PinTstampTypeField &  destFld 
)

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinTstampTypeField &  srcFld,
const PinTstampTypeField &  destFld 
)

PinInt64ObserverConst PinFlist::get ( const PinInt64TypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const

PinInt64Observer PinFlist::get ( const PinInt64TypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

PinInt64Owner PinFlist::take ( const PinInt64TypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

void PinFlist::set ( const PinInt64TypeField &  fld,
int64  i 
)

void PinFlist::set ( const PinInt64TypeField &  fld,
const PinInt64Base &  observer 
)

void PinFlist::put ( const PinInt64TypeField &  fld,
PinInt64Owner &  owner 
)

void PinFlist::rename ( const PinInt64TypeField &  srcFld,
const PinInt64TypeField &  destFld 
)

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinInt64TypeField &  srcFld,
const PinInt64TypeField &  destFld 
)

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinInt64TypeField &  srcFld,
const PinInt64TypeField &  destFld 
)

PinErrorBufObserverConst PinFlist::get ( const PinErrTypeField &  fld,
PinBool  optional = PIN_BOOLEAN_FALSE 
) const

PinErrorBufObserver PinFlist::get ( const PinErrTypeField &  fld,
PinBool  optional = PIN_BOOLEAN_FALSE 
)

PinErrorBufOwner PinFlist::take ( const PinErrTypeField &  fld,
PinBool  optional = PIN_BOOLEAN_FALSE 
)

void PinFlist::set ( const PinErrTypeField &  fld,
const PinErrorBuf &  rebel 
)

void PinFlist::set ( const PinErrTypeField &  fld,
const PinErrorBufBase &  observer 
)

void PinFlist::rename ( const PinErrTypeField &  srcFld,
const PinErrTypeField &  destFld 
)

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinErrTypeField &  srcFld,
const PinErrTypeField &  destFld 
)

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinErrTypeField &  srcFld,
const PinErrTypeField &  destFld 
)

int PinFlist::count ( const PinArrayTypeField &  fld  )  const

Return the number of array elements of the given name.

Parameters:
fld name of array field
Returns:
int number of array elements.

PinFlistObserver PinFlist::add ( const PinArrayTypeField &  fld,
PinRecId  id 
)

Add an empty array element to the flist. Note that in the flist world, there is no notion of just adding an array; you must specify an element.

Parameters:
fld name of array field
id element id

PinFlistObserverConst PinFlist::get ( const PinArrayTypeField &  fld,
const PinRecId  id,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const

Get a const flist observer wrapper to an array element in the flist. Note that the array element is itself an flist.

Parameters:
fld name of array field
id element id
optional indicator of whether the field is optional or not, indicates the field is required if the param is not passed in
Returns:
PinFlistObserverConst flist observer instance
Exceptions:
PinDeterminateException If the field is not present and the optional indicator is set to FALSE, then an exception occurs.

PinFlistObserver PinFlist::get ( const PinArrayTypeField &  fld,
const PinRecId  id,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

Get a non-const flist observer wrapper to an array element in the flist. Note that the array element is itself an flist.

Note:
The flist observer allows you to modify the underlying C flist. If you want to prevent that, declare the return value to be a const observer so that the return value would be of type PinFlistObserverConst.
Parameters:
fld name of array field
id element id
optional indicator of whether the field is optional or not, indicates the field is required if the param is not passed in
Returns:
PinFlistObserver flist observer instance
Exceptions:
PinDeterminateException If the field is not present and the optional indicator is set to FALSE, then an exception occurs.

PinFlistOwner PinFlist::take ( const PinArrayTypeField &  fld,
PinRecId  id,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

Remove an array element from the flist and take ownership of the content (which is another flist) via a flist owner wrapper which manages the memory. To just drop the array element, use the drop method.

Parameters:
fld name of array field
id element id
optional indicator of whether the field is optional or not, indicates the field is required if the param is not passed in
Returns:
PinFlistOwner flist owner instance
Exceptions:
PinDeterminateException If the field is not present and the optional indicator is set to FALSE, then an exception occurs.

void PinFlist::set ( const PinArrayTypeField &  fld,
const PinFlistBase &  val,
const PinRecId  id 
)

Add a new array element to the flist. If the element already exists, just change the value. The value is copied and the original passed in parameter is untouched.

Parameters:
fld name of array field
val flist observer or owner instance for the source value
id element id

void PinFlist::put ( const PinArrayTypeField &  fld,
PinFlistOwner &  val,
const PinRecId  id 
)

Add a new array element to the flist. If the element already exists, just change the value. The value is usurped from the input parameter "val".

Parameters:
fld name of array field
val flist owner instance for the source value
id element id

void PinFlist::drop ( const PinArrayTypeField &  fld,
const PinRecId  id 
)

Drop an array element from the flist. If the field is not found, it is not considered an error.

Parameters:
fld name of field to drop
id element id
Exceptions:
PinDeterminateException for any errors that occur

void PinFlist::rename ( const PinArrayTypeField &  srcFld,
const PinArrayTypeField &  destFld 
)

Rename all elements of an array from one field name to another

Parameters:
src fld name of field to rename
dest fld name to use
Exceptions:
PinDeterminateException If the element is not found or any other error occurs.

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinArrayTypeField &  srcFld,
const PinArrayTypeField &  destFld 
)

Copy all elements of an array from another flist to this flist. The field name can be changed while performing the copy

Parameters:
src flist to copy array from
src array fld name to copy from srcFlist
dest array fld name to use here
Returns:
boolean indicator of whether any src array elems were found. When not found it is not considered an error.
Exceptions:
PinDeterminateException If the element is not found or any other error occurs.

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinArrayTypeField &  srcFld,
const PinRecId  srcId,
const PinArrayTypeField &  destFld,
const PinRecId  destId 
)

Copy single element of an array from another flist to this flist. The field name and recid can be changed while performing the copy

Parameters:
src flist to copy array element from
src array fld name to copy from srcFlist
src element id to copy
dest array fld name to use here
dest element id to use here
Returns:
boolean indicator of whether src array element was found. When not found it is not considered an error.
Exceptions:
PinDeterminateException if any error occurs, usually Fatal

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinArrayTypeField &  srcFld,
const PinArrayTypeField &  destFld 
)

Move all elements of an array from another flist to this flist. The field name can be changed while performing the move

Parameters:
src flist to move array from
src array fld name to move from srcFlist
dest array fld name to use here
Returns:
boolean indicator of whether any src array elements were found. When not found it is not considered an error.
Exceptions:
PinDeterminateException if any error occurs, usually Fatal

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinArrayTypeField &  srcFld,
const PinRecId  srcId,
const PinArrayTypeField &  destFld,
const PinRecId  destId 
)

Move single element of an array from another flist to this flist. The field name and recid can be changed while performing the move

Parameters:
src flist to move array from
src array fld name to move from srcFlist
src element id
dest array fld name to use here
dest element id to use here
Returns:
boolean indicator of whether src array element was found. When not found it is not considered an error.
Exceptions:
PinDeterminateException if any error occurs, usually Fatal

PinElemObservingIterator PinFlist::getElements ( const PinArrayTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_TRUE 
) const

Walk through the elements in an array.

Parameters:
fld name of field
optional indicator of whether the field is optional or not, indicates the field is required if the param is not passed in
Returns:
PinElemObservingIteratorConst iterator object
Exceptions:
PinDeterminateException If the element is not present.

PinElemObservingIterator PinFlist::getElements ( const PinArrayTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_TRUE 
) const

PinElemObservingIterator PinFlist::getElements ( const PinArrayTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_TRUE 
)

Walk through the elements in an array.

Parameters:
fld name of field
optional indicator of whether the field is optional or not, indicates the field is required if the param is not passed in
Returns:
PinElemObservingIterator iterator object
Exceptions:
PinDeterminateException If the element is not present.

PinElemDroppingIterator PinFlist::getDroppableElements ( const PinArrayTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_TRUE 
)

Walk through the elements in an array.

Parameters:
fld name of field
optional indicator of whether the field is optional or not, indicates the field is required if the param is not passed in
Returns:
PinElemDroppingIterator iterator object
Exceptions:
PinDeterminateException If the element is not present.

PinElemOwningIterator PinFlist::takeElements ( const PinArrayTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_TRUE 
)

Remove the elements in an array one by one via an iterator.

Parameters:
fld name of field
optional indicator of whether the field is optional or not, indicates the field is required if the param is not passed in
Returns:
PinElemOwningIterator iterator object
Exceptions:
PinDeterminateException If the element is not present.

PinFlistObserver PinFlist::add ( const PinSubTypeField &  fld  ) 

void PinFlist::drop ( const PinSubTypeField &  fld  ) 

PinFlistObserverConst PinFlist::get ( const PinSubTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const

PinFlistObserver PinFlist::get ( const PinSubTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

PinFlistOwner PinFlist::take ( const PinSubTypeField &  fld,
const PinBool  optional = PIN_BOOLEAN_FALSE 
)

void PinFlist::set ( const PinSubTypeField &  fld,
const PinFlistBase &  observer 
)

void PinFlist::put ( const PinSubTypeField &  fld,
PinFlistOwner &  owner 
)

void PinFlist::rename ( const PinSubTypeField &  srcFld,
const PinSubTypeField &  destFld 
)

bool PinFlist::copyFrom ( const PinFlistBase &  srcFlist,
const PinSubTypeField &  srcFld,
const PinSubTypeField &  destFld 
)

bool PinFlist::moveFrom ( const PinFlistBase &  srcFlist,
const PinSubTypeField &  srcFld,
const PinSubTypeField &  destFld 
)

void PinFlist::drop ( const PinAnyTypeField &  fld  ) 

Drop a field from the flist. For ARRAY or SUBSTRUCT fields, use other methods.

Parameters:
fld name of field to drop
Exceptions:
PinDeterminateException If the field is not present.

void PinFlist::appendFlist ( PinFlistBase &  flist  ) 

Append (concatenate) the flist to the end of the current one.

Parameters:
flist flist to append

int PinFlist::count (  )  const

Return the number of fields in the flist at the top level. Note that this does not traverse down array elements or substructs. Also, each individual array element is counted.

Returns:
int number of fields in the flist

PinAnyObservingIterator PinFlist::getFields (  ) 

Walk through the fields in the flist. Has specialized uses in debuggers, generic flist translators etc.

Returns:
PinAnyObservingIterator iterator object
See also:
PinAnyDiscriminator
Todo:
Technically, we need a const version of this iterator!

void PinFlist::sort ( const PinFlistBase &  sortlist,
const int32  descending = 0,
const int32  sortDefault = 0 
)

Sort the flist. See PIN_FLIST_SORT description.

Parameters:
sortlist sorting key described as flist.
descending if 1, sort in descending order
sortDefault 

void PinFlist::sortRecursively ( const PinFlistBase &  sortlist,
const int32  descending = 0,
const int32  sortDefault = 0 
)

Sort the flist. If there are ARRAY elements, each of them is sorted as well recursively. See PIN_FLIST_RECURSIVE_SORT description.

Parameters:
sortlist sorting key described as flist.
descending if 1, sort in descending order
sortDefault 

PinFlistOwner PinFlist::clone (  )  const

Make a clone of the flist (deep copy).

Returns:
PinFlistOwner Instance of the new flist owner handle

PinBool PinFlist::isNull (  )  const

Check if the underlying C flist is valid (not null pointer).

Returns:
PinBool True If the underlying C flist is a null pointer

pin_flist_t * PinFlist::get (  )  const

Get the underlying C flist pointer.

Warning:
Useful in situations when invoking safe C functions that in C++ code using this class. Make sure that the flist is not destroyed by the callee.
See also:
release()
Returns:
flist_t* the underlying C flist pointer

pin_flist_t* PinFlist::get (  )  const

pin_flist_t * PinFlist::get (  ) 

Get the underlying C flist pointer.

Warning:
Useful in situations when invoking safe C functions that in C++ code using this class. Make sure that the flist is not destroyed by the callee.
See also:
release()
Returns:
flist_t* the underlying C flist pointer

pin_flist_t * PinFlist::release (  ) 

Take ownership of the underlying C flist pointer.

Warning:
Useful in situations when invoking C functions that in C++ code using this class, and there is no reason for this C++ class to manage the C flist pointer. Make sure that the C flist is properly destroyed.
See also:
get()

void PinFlist::grab ( pin_flist_t *  flistp,
int  owns 
)

Make a new PinFlist using the passed in C flist pointer.

Parameters:
flistp Pointer to the C flist
owns If 1, then this class takes ownership of the flistp
Warning:
This is intended for use by PinBase. Use the public factory methods instead.

void PinFlist::takeFrom ( PinFlist &  other  ) 

Takes over the C flist pointer from the source object. Releases or destroys the C flist it is currently holding.

Warning:
This is intended for use by PinBase.
See also:
copyFrom()

void PinFlist::copyFrom ( const PinFlist &  other  ) 

Points to the C flist pointer from the source object. Releases or destroys the C flist it is currently holding.

Warning:
This is intended for use by PinBase.
See also:
takeFrom()

void PinFlist::operator= ( const PinFlist &   )  [private]

void * PinFlist::_get ( const u_int32  fldnum,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) const [private]

void * PinFlist::_take ( const u_int32  fldnum,
const PinBool  optional = PIN_BOOLEAN_FALSE 
) [private]

void PinFlist::_set ( const u_int32  fldnum,
const void *  vp 
) [private]

void PinFlist::_put ( const u_int32  fldnum,
const void *  vp 
) [private]

void PinFlist::_set ( const u_int32  fldnum,
const void *  vp,
const PinRecId  id 
) [private]

void PinFlist::_put ( const u_int32  fldnum,
const void *  vp,
const PinRecId  id 
) [private]

void PinFlist::_rename ( const pin_fld_num_t  srcfldnum,
const pin_fld_num_t  destfldnum 
) [private]

bool PinFlist::_copyFrom ( pin_flist_t *  src_flistp,
const pin_fld_num_t  srcfldnum,
const pin_fld_num_t  destfldnum 
) [private]

bool PinFlist::_copyFrom ( pin_flist_t *  src_flistp,
const pin_fld_num_t  srcfldnum,
const PinRecId  srcId,
const pin_fld_num_t  destfldnum,
const PinRecId  destId 
) [private]

bool PinFlist::_moveFrom ( pin_flist_t *  src_flistp,
const pin_fld_num_t  srcfldnum,
const pin_fld_num_t  destfldnum 
) [private]

bool PinFlist::_moveFrom ( pin_flist_t *  src_flistp,
const pin_fld_num_t  srcfldnum,
const PinRecId  srcId,
const pin_fld_num_t  destfldnum,
const PinRecId  destId 
) [private]


Member Data Documentation

Indicator of whether or not the data is owned by the wrapper

pointer to the underlying C-style flist


Copyright © 2017, Oracle and/or its affiliates.