Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

_VDBL_col Class Reference
[Classes and types for internal use]

The generic column class (the external structure). More...

#include <vdbl_col.h>

Collaboration diagram for _VDBL_col:

Collaboration graph
[legend]
List of all members.

Public Methods

 _VDBL_col ()
 generic constructor

 _VDBL_col (const _VDBL_col &__c)
 copy constructor - using copy constructor overloading of the base class

 _VDBL_col (__VDBL_colbase *__p)
template<class _RR>  _VDBL_col (const _RR &_c)
virtual ~_VDBL_col ()
 standard destructor

void setcontext (const context *_c, const _VDBL_row *_r)
 set the context for value retrieval

template<class _R> void set (_VDBL_colbase< _R > *_p)
template<class _R> void get (_R &c) const
template<class _R> void def (_R &d) const
template<class _R> void get_ptr (_R const *&c) const
template<class _R> void get_copy (_R *&p) const
template<class _R> void def_copy (_R *&p) const
void get_copy (_VDBL_alltype_base *&v) const
void def_copy (_VDBL_alltype_base *&d) const
const std::type_info & return_type_id () const
const __VDBL_colbaseget_ptr_to_val () const

Friends

std::ostream & operator<< (std::ostream &o, const _VDBL_col &c)

Detailed Description

_VDBL_col is the generic column class. It contains the actual data, and columns of this type are stored in rows. The copy constructor and operator<< are overloaded using the virtual functions defined in the __VDBL_colbase and afterwards in the _VDBL_colbase<_T> classes.

This is the third and final step in constructing columns of arbitrary type.

Definition at line 241 of file vdbl_col.h.


Constructor & Destructor Documentation

_VDBL_col::_VDBL_col __VDBL_colbase   __p [inline, explicit]
 

direct constructor - handle with care, no implicit copying is done, the destructor, however, will try to delete __p. This is mostly used VDBL internal. If you want to use it, you should KNOW WHAT YOU ARE DOING!

Definition at line 260 of file vdbl_col.h.

template<class _RR>
_VDBL_col::_VDBL_col const _RR &    _c [inline, explicit]
 

This is a generic type independent constructor. It produces a column of type _RR. The column data is copied, so it is save to destroy the _c data afterwards.

Definition at line 365 of file vdbl_col.h.


Member Function Documentation

template<class _R>
void _VDBL_col::def _R &    d const [inline]
 

This function stores a copy of the column default value into d.

Definition at line 379 of file vdbl_col.h.

void _VDBL_col::def_copy _VDBL_alltype_base *&    d const [inline]
 

This version of get_copy returns a copy of the columns default value within an alltype. This is useful for passing on column values. It can also be used to circumvent the strict run-time type checking. The user is, however, DISCOURAGED to do so.

Definition at line 396 of file vdbl_col.h.

template<class _R>
void _VDBL_col::def_copy _R *&    p const [inline]
 

This function returns a pointer to a copy of the column's default value. The copy of the value is allocated by new. It has to be deleted by the user to avoid memory leaks.

Definition at line 390 of file vdbl_col.h.

template<class _R>
void _VDBL_col::get _R &    c const [inline]
 

This function stores a copy of the column value into c.

Definition at line 376 of file vdbl_col.h.

void _VDBL_col::get_copy _VDBL_alltype_base *&    v const [inline]
 

This version of get_copy returns a copy of the columns value within an alltype. This is useful for passing on column values. It can also be used to circumvent the strict run-time type checking. The user is, however, DISCOURAGED to do so.

Definition at line 393 of file vdbl_col.h.

template<class _R>
void _VDBL_col::get_copy _R *&    p const [inline]
 

This function returns a pointer to a copy of the column's value. The copy of the value is allocated by new. It has to be deleted by the user to avoid memory leaks.

Definition at line 386 of file vdbl_col.h.

template<class _R>
void _VDBL_col::get_ptr _R const *&    c const [inline]
 

This function sets c to a const pointer pointing to the column's actual value. Here, no copying is done.

Definition at line 382 of file vdbl_col.h.

const __VDBL_colbase* _VDBL_col::get_ptr_to_val   const [inline]
 

This function is needed for the operator<< for columns of type return_type.

Definition at line 348 of file vdbl_col.h.

const std::type_info& _VDBL_col::return_type_id   const [inline]
 

This function returns the type_info of the column type. This information is used during run-time type checking.

Definition at line 341 of file vdbl_col.h.

template<class _R>
void _VDBL_col::set _VDBL_colbase< _R > *    _p [inline]
 

This function sets the data to the pointer passed. This is a direct set operation - handle with care, no implicit copying is done. The destructor, however, will try to delete __p. This is mostly used VDBL internal. If you want to use it, you should KNOW WHAT YOU ARE DOING!

Definition at line 284 of file vdbl_col.h.


Friends And Related Function Documentation

std::ostream& operator<< std::ostream &    o,
const _VDBL_col &    c
[friend]
 

The print operation for generic columns. This implicitely calls operator<< for the columns type. So it is necessary that this operator is indeed defined.

Definition at line 359 of file vdbl_col.h.


The documentation for this class was generated from the following file:
Generated on Tue Nov 4 01:29:23 2003 for Vienna Database Library by doxygen1.2.18