Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Class Members

DtsObject_ Class Reference

#include <DtsObject.h>

Inheritance diagram for DtsObject_:

Inheritance graph
[legend]
Collaboration diagram for DtsObject_:

Collaboration graph
[legend]
List of all members.

Detailed Description

DtsObject_ instances should only be used via DtsObject auto-pointers (the auto-pointer keeps track of reference counts for the user).

An object is read-only except for initializaiton, when it is assumed to only have a single user (and therefore not require locking.). Only the field cache is locked for thread safety.


Reference Counting

Programmers should NOT use these methods directly

void intrusive_ptr_add_ref (DtsObject_ *o)
 Used by DtsObject (boost::intrusive_ptr).

void intrusive_ptr_release (DtsObject_ *o)
 Used by DtsObject (boost::intrusive_ptr).


Public Member Functions

 DtsObject_ (DTS *dts, int size, int type)
void init (int size, dts_typeid type)
 (Re-)initialize the object to the given size and type

DtsObject make_writable ()
void prime_all_fields ()
void prime_field (dts_field_info *)
std::vector< DtsObjectfieldcache ()
 Get a copy of the entire field cache.

int write (struct pickle *pickle, int fd)
void send (dts_field_element fieldnum, dts_comparison *comparisons)
void send (DtsField &field, dts_comparison *comparisons)
int match (dts_comparison *comps)
double eval_arith_operand (struct dts_operand *op)
 Expr module uses this.

DTSgetDts () const
 Pointer to the DTS used by this type.

Copy Constructors
DtsObject dup ()
 Return a new object with a copy of the data and a private field vector.

DtsObject private_copy ()
 Return a new object with shared data, but a private field vector.

Meta-data Methods
void setsize (int size)
int getsize () const
unsigned long getid () const
unsigned char * getdata () const
dts_typeid gettype () const
void settype (int type)
Initializers
void setdata (void *data)
void setdatacopy (const void *src)
int set_fromstring (const char *datastr)
Field Access
DtsObject getfield (DtsField &fieldv, bool nowarn=false)
 Return a field object.

DtsObject getfield (char *s, bool nowarn=false)
 Less efficient lookup by string.

void attach_field (DtsField &field, DtsObject field_data)

Friends

DtsObject DTS::msg_check (DtsObject, dts_field_element)


Member Function Documentation

DtsObject DtsObject_::dup  ) 
 

Return a new object with a copy of the data and a private field vector.

The field vector is a copy of the original.

DtsObject DtsObject_::private_copy  ) 
 

Return a new object with shared data, but a private field vector.

The field vector is a copy of the original.


The documentation for this class was generated from the following files:
Generated on Mon Aug 28 23:37:02 2006 for SMACQ by doxygen 1.3.5