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_tm_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_tget () const
pin_flist_tget () const
pin_flist_tget ()
pin_flist_trelease ()

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, 2023, Oracle and/or its affiliates.