_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 Member Functions

 _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 _TR >
void set (_VDBL_colbase< _TR > *_p)
template<class _TR >
void get (_TR &c) const
template<class _TR >
void def (_TR &d) const
template<class _TR >
void get_ptr (_TR const *&c) const
template<class _TR >
void get_copy (_TR *&p) const
template<class _TR >
void def_copy (_TR *&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<_TT> classes.

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

Definition at line 242 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 261 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 366 of file vdbl_col.h.


Member Function Documentation

template<class _TR >
void _VDBL_col::def ( _TR &  d  )  const [inline]

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

Definition at line 380 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 397 of file vdbl_col.h.

template<class _TR >
void _VDBL_col::def_copy ( _TR *&  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 391 of file vdbl_col.h.

template<class _TR >
void _VDBL_col::get ( _TR &  c  )  const [inline]

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

Definition at line 377 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 394 of file vdbl_col.h.

template<class _TR >
void _VDBL_col::get_copy ( _TR *&  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 387 of file vdbl_col.h.

template<class _TR >
void _VDBL_col::get_ptr ( _TR 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 383 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 349 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 342 of file vdbl_col.h.

template<class _TR >
void _VDBL_col::set ( _VDBL_colbase< _TR > *  _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 285 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 360 of file vdbl_col.h.


The documentation for this class was generated from the following file:

Generated on Tue Feb 9 14:59:33 2010 for Vienna Database Library by  doxygen 1.5.8