fastcgi++
Classes | Namespaces | Defines | Typedefs | Enumerations | Functions
data.hpp File Reference
#include <boost/date_time/posix_time/posix_time_types.hpp>
#include <ostream>
#include <vector>
#include <string>
#include <map>
#include <boost/preprocessor/seq/size.hpp>
#include <boost/preprocessor/seq/for_each_i.hpp>

Go to the source code of this file.

Classes

struct  ASql::Data::NullablePar
 Base class to the Nullable template class. More...
struct  ASql::Data::Nullable< T >
 Class for adding null capabilities to any type. Needed for SQL queries involving. More...
struct  ASql::Data::NullableArray< T, size >
 Class for adding null capabilities to character arrays. More...
struct  ASql::Data::Blob
 Derive from this to create your own Blob types. More...
struct  ASql::Data::VectorBlob
struct  ASql::Data::Index
 Stores on index value from a Set. More...
struct  ASql::Data::Set
class  ASql::Data::SetBuilder< T >
 Wraps a Set object around an new auto-allocated dataset of type T. More...
class  ASql::Data::SetRefBuilder< T >
 Wraps a Set object around a reference to a dataset of type T. More...
class  ASql::Data::SetPtrBuilder< T >
 Wraps a Set object around a pointer to a dataset of type T. More...
class  ASql::Data::SetSharedPtrBuilder< T >
 Wraps a Set object around a shared pointer to a dataset of type T. More...
class  ASql::Data::IndySetBuilder< T >
 Wraps a Set object around an new auto-allocated individual object of type T. More...
class  ASql::Data::IndySetRefBuilder< T >
 Wraps a Set object around a reference to an individual object of type T. More...
class  ASql::Data::IndySetPtrBuilder< T >
 Wraps a Set object around a pointer to an individual object of type T. More...
struct  ASql::Data::SetContainer
 Base class for containers of Data::Set objects to be used for result/parameter data in SQL queries. More...
class  ASql::Data::STLSetContainer< T >
 Wraps a SetContainer object around a new auto-allocated STL container of type T. More...
class  ASql::Data::IndySTLSetContainer< T >
 Wraps a SetContainer object around a new auto-allocated STL container of type T. More...
class  ASql::Data::STLSetRefContainer< T >
 Wraps a SetContainer object around a reference to an STL container of type T. More...
class  ASql::Data::STLSharedSetContainer< T >
 Wraps a SetContainer object around a shared pointer to an STL container of type T. More...
struct  ASql::Data::Conversion
 Handle data conversion from standard data types to internal SQL engine types. More...

Namespaces

namespace  ASql
 Defines classes and functions relating to SQL querying.
namespace  ASql::Data
 Defines data types and conversion techniques standard to the fastcgipp SQL facilities.

Defines

#define ASQL_BUILDSETLINE(r, data, i, elem)   case i: return elem;
#define ASQL_BUILDSET(elements)
 Build the appropriate function to make a Data::Set compatible data structure.

Typedefs

typedef unsigned char ASql::Data::Utiny
typedef signed char ASql::Data::Tiny
typedef unsigned short int ASql::Data::Ushort
typedef short int ASql::Data::Short
typedef unsigned int ASql::Data::Uint
typedef int ASql::Data::Int
typedef unsigned long long int ASql::Data::Ubigint
typedef long long int ASql::Data::Bigint
typedef float ASql::Data::Float
typedef double ASql::Data::Double
typedef
boost::posix_time::time_duration 
ASql::Data::Time
typedef boost::gregorian::date ASql::Data::Date
typedef boost::posix_time::ptime ASql::Data::Datetime
typedef std::string ASql::Data::Text
typedef std::wstring ASql::Data::Wtext
typedef bool ASql::Data::Boolean
typedef Nullable< Utiny > ASql::Data::UtinyN
typedef Nullable< Tiny > ASql::Data::TinyN
typedef Nullable< Ushort > ASql::Data::UshortN
typedef Nullable< Short > ASql::Data::ShortN
typedef Nullable< Uint > ASql::Data::UintN
typedef Nullable< Int > ASql::Data::IntN
typedef Nullable< Ubigint > ASql::Data::UbigintN
typedef Nullable< Bigint > ASql::Data::BigintN
typedef Nullable< Float > ASql::Data::FloatN
typedef Nullable< Double > ASql::Data::DoubleN
typedef Nullable< Time > ASql::Data::TimeN
typedef Nullable< Date > ASql::Data::DateN
typedef Nullable< Datetime > ASql::Data::DatetimeN
typedef Nullable< Text > ASql::Data::TextN
typedef Nullable< Wtext > ASql::Data::WtextN
typedef Nullable< Boolean > ASql::Data::BooleanN
typedef std::map< int,
boost::shared_ptr< Conversion > > 
ASql::Data::Conversions

Enumerations

enum  ASql::Data::Type {
  ASql::Data::U_TINY = 0, ASql::Data::U_SHORT, ASql::Data::U_INT, ASql::Data::U_BIGINT,
  ASql::Data::TINY, ASql::Data::SHORT, ASql::Data::INT, ASql::Data::BIGINT,
  ASql::Data::FLOAT, ASql::Data::DOUBLE, ASql::Data::TIME, ASql::Data::DATE,
  ASql::Data::DATETIME, ASql::Data::BLOB, ASql::Data::TEXT, ASql::Data::WTEXT,
  ASql::Data::CHAR, ASql::Data::BINARY, ASql::Data::BIT, ASql::Data::U_TINY_N,
  ASql::Data::U_SHORT_N, ASql::Data::U_INT_N, ASql::Data::U_BIGINT_N, ASql::Data::TINY_N,
  ASql::Data::SHORT_N, ASql::Data::INT_N, ASql::Data::BIGINT_N, ASql::Data::FLOAT_N,
  ASql::Data::DOUBLE_N, ASql::Data::TIME_N, ASql::Data::DATE_N, ASql::Data::DATETIME_N,
  ASql::Data::BLOB_N, ASql::Data::TEXT_N, ASql::Data::WTEXT_N, ASql::Data::CHAR_N,
  ASql::Data::BINARY_N, ASql::Data::BIT_N, ASql::Data::NOTHING
}
 Defines data types supported by the fastcgi++ sql facilities. More...

Functions

template<class charT , class Traits , class T >
std::basic_ostream< charT,
Traits > & 
ASql::Data::operator<< (std::basic_ostream< charT, Traits > &os, const Nullable< T > &x)
 A basic, practically none-functional stream inserter for Nullable objects.

Define Documentation

#define ASQL_BUILDSET (   elements)
Value:
size_t numberOfSqlElements() const { return BOOST_PP_SEQ_SIZE(elements); } \
	ASql::Data::Index getSqlIndex(size_t index) const \
   { \
      switch(index) \
      { \
         BOOST_PP_SEQ_FOR_EACH_I(ASQL_BUILDSETLINE, 0, elements) \
         default: return ASql::Data::Index(); \
      } \
   }

Build the appropriate function to make a Data::Set compatible data structure.

Definition at line 14 of file data.hpp.

#define ASQL_BUILDSETLINE (   r,
  data,
  i,
  elem 
)    case i: return elem;

Definition at line 12 of file data.hpp.