#include <vdbl_col.h>
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_colbase * | get_ptr_to_val () const |
Friends | |
std::ostream & | operator<< (std::ostream &o, const _VDBL_col &c) |
_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.
_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.
_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.
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.
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 delete
d by the user to avoid memory leaks.
Definition at line 391 of file vdbl_col.h.
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.
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 delete
d by the user to avoid memory leaks.
Definition at line 387 of file vdbl_col.h.
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.
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.
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.