Public Member Functions | List of all members
database_interface::DBField< T > Class Template Reference

The base class for a usable DBField. More...

#include <db_field.h>

Inheritance diagram for database_interface::DBField< T >:
Inheritance graph
[legend]

Public Member Functions

 DBField (DBFieldBase::Type type, DBClass *owner, std::string name, std::string table_name, bool write_permission)
 
 DBField (DBClass *owner, const DBField< T > *other)
 
- Public Member Functions inherited from database_interface::DBFieldData< T >
const T & data () const
 
T & data ()
 
 DBFieldData (Type type, DBClass *owner, std::string name, std::string table_name, bool write_permission)
 
virtual bool fromBinary (const char *, size_t)
 Sets the value of this field from a binary chunk of data. More...
 
virtual bool fromString (const std::string &str)
 Sets the value of this field from a text string. More...
 
const T & get () const
 
T & get ()
 
virtual bool toBinary (const char *&, size_t &) const
 Gets a pointer to the value of this field as a binary chunk of data. More...
 
virtual bool toString (std::string &str) const
 Gets the value of this field as a text string. More...
 
- Public Member Functions inherited from database_interface::DBFieldBase
 DBFieldBase (Type type, DBClass *owner, std::string name, std::string table_name, bool write_permission)
 
std::string getName () const
 
DBClassgetOwner ()
 
const DBClassgetOwner () const
 
bool getReadFromDatabase () const
 
std::string getSequenceName () const
 
std::string getTableName () const
 
Type getType () const
 
bool getWritePermission () const
 
bool getWriteToDatabase () const
 
void setReadFromDatabase (bool sync)
 
void setReadWrite (bool sync)
 
void setSequenceName (std::string seq)
 
void setWriteToDatabase (bool sync)
 

Additional Inherited Members

- Public Types inherited from database_interface::DBFieldBase
enum  Type { TEXT, BINARY }
 
- Protected Member Functions inherited from database_interface::DBFieldData< T >
void copy (const DBFieldData< T > *other)
 
 DBFieldData (DBClass *owner, const DBFieldData *other)
 Copy constructor also copies the data itself. More...
 
- Protected Member Functions inherited from database_interface::DBFieldBase
 DBFieldBase (DBClass *owner, const DBFieldBase *other)
 Copy constructor is protected, it should only be called by derived classes which also copy the data. More...
 
- Protected Attributes inherited from database_interface::DBFieldData< T >
data_
 
- Protected Attributes inherited from database_interface::DBFieldBase
std::string name_
 The name of the column that this field is stored in in the database. More...
 
DBClassowner_
 The class that this field is part of. More...
 
bool read_from_database_
 Marks if this field should be read from the database when its owner is read. More...
 
std::string sequence_name_
 Optional: the name of a database sequence that is used as a default value for this field. More...
 
std::string table_name_
 The name of the table that this field is stored in the database. More...
 
Type type_
 The type of this field, either TEXT or BINARY. More...
 
bool write_permission_
 Marks if this field is allowed to be used to modify the database. More...
 
bool write_to_database_
 Marks if this field should be saved to the database when its owner is saved. More...
 

Detailed Description

template<class T>
class database_interface::DBField< T >

The base class for a usable DBField.

Provides the implicit conversion to and from string inherited from the DBFieldBase. In addition, can be specialized for different conversion types as desired.

Definition at line 348 of file db_field.h.

Constructor & Destructor Documentation

template<class T>
database_interface::DBField< T >::DBField ( DBFieldBase::Type  type,
DBClass owner,
std::string  name,
std::string  table_name,
bool  write_permission 
)
inline

Definition at line 351 of file db_field.h.

template<class T>
database_interface::DBField< T >::DBField ( DBClass owner,
const DBField< T > *  other 
)
inline

Definition at line 354 of file db_field.h.


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


database_interface
Author(s): Matei Ciocarlie and Lorenz Mosenlechner
autogenerated on Mon Mar 2 2015 01:31:34