Zen
A cross-platform functional programming language
Classes | Namespaces | Defines | Typedefs | Functions

/home/renji/Data/projects/zenlang/sources/zbl/zbl.hpp File Reference

Holds the definitions of all intrinsic Zen types. More...

Go to the source code of this file.

Classes

struct  counted
 Rudimentary time counter. More...
struct  counter
 Rudimentary function timer. More...
class  date
 Intrinsic date type. More...
class  time
 Intrinsic time type. More...
class  datetime
 Intrinsic datetime type. More...
class  string
 Intrinsic string type. More...
class  string::creator
 string creator More...
class  sharedptr< T >
 Shared pointer type. More...
class  autoptr< T >
 Auto pointer type. More...
class  scopedptr< T >
 Auto pointer type. More...
class  owner< V >
 Intrinsic owner type. More...
class  holder< V >
 Intrinsic holder type. More...
class  iteratorbase< iterT, V >
 base of all iterators More...
class  iteratorbaseL< iterT, V >
 base of all list iterators More...
class  iteratorbaseD< iterT, K, V >
 base of all dict iterators More...
class  containerbase< listT >
 base of all container classes More...
class  listbase< derT, listT, iterT, V >
 base of all lists More...
class  listbase< derT, listT, iterT, V >::iterator
 list iterator More...
class  listbase< derT, listT, iterT, V >::creator
 list creator More...
class  list< V >
 Intrinsic list type. More...
class  set< V >
 Intrinsic set type. More...
class  stack< V >
 Intrinsic stack type. More...
class  queue< V >
 Intrinsic queue type. More...
class  dictbase< derT, K, V >
 base class for all dicts More...
class  dictbase< derT, K, V >::iterator
 Dictionary iterator class. More...
class  dictbase< derT, K, V >::found
 Class holding result of a find() in a dict. More...
class  dictbase< derT, K, V >::creator
 Class to create and populate a dict instance. More...
class  dict< K, V >
 Intrinsic dict type. More...
class  tree
 Intrinsic tree type. More...
class  stringset
 Intrinsic stringset type. More...
class  stringlist
 Intrinsic stringlist type. More...
class  buffer
 Intrinsic buffer type. More...
class  buffer::iterator
 Buffer iterator. More...
class  fileinfo
 Intrinsic fileinfo type. More...
class  file
 Intrinsic file type. More...
class  stream
 Abstract stream type. More...
class  filestream
 Intrinsic filestream type. More...
class  stringstream
 Intrinsic stringstream type. More...
class  nullstream
 Intrinsic null stream type. More...
class  end
 Exception end. More...
class  exception
 Intrinsic exception type. More...
class  application
 Intrinsic application type. More...
class  process
 Intrinsic process type. More...
class  timer
 Intrinsic timer type. More...
class  mutex
 Intrinsic mutex type. More...
class  mutexlocker
 Intrinsic mutex locker type. More...
class  database
 Intrinsic database type. More...
class  transaction
 Intrinsic transaction type. More...
class  statement
 SQL query statement. More...
class  data
 Intrinsic data type. More...
class  qexpr
 Intrinsic query expression type. More...
class  qexpr::visitor
 Query expression visitor type. More...
class  qvisitorT< T >
 Abstract base class for query expression visitor. More...
class  qconstant< T, qT >
 Intrinsic query constant type. More...
class  qstring
 Intrinsic query string type. More...
class  qid
 Intrinsic query id type. More...
class  qint
 Intrinsic query int type. More...
class  qval
 Intrinsic query val type. More...
class  qbinary
 Query expression binary operator type. More...
class  qnot
 Query expression binary not type. More...
class  qpair
 Query expression pair. More...
class  query
 Intrinsic query type. More...
class  result
 Intrinsic query result type. More...
class  store
 Intrinsic store type. More...
class  any
 Intrinsic any (variant) type. More...
class  any::base
 Abstract base class for implementations of 'any' type. More...
class  any::impl< T >
 Implementation template for all 'any' types. More...
class  key
 Intrinsic key type. More...
class  property
 Intrinsic gui property type. More...
class  widget
 Intrinsic gui widget type. More...
class  view
 Intrinsic gui view type. More...

Namespaces

namespace  zd
 

Primitive debugging utilities.


namespace  z
 

Namespace to hold all types intrinsic within zen.


Defines

#define unused   Q_UNUSED
 Specifies a variable as unused to remove compiler errors.
#define assert(c)   {if(!(c)) abort();}
 Assert a condition, break into debugger if false.
#define registerMetatype(T)   Q_DECLARE_METATYPE(T)
 Register a type for use with 'any' type variables.

Typedefs

typedef char byte
 8 bit signed integer
typedef long long int64
 64 bit signed integer

Functions

template<typename T >
T * ptr (T &t)
 safely convert a reference to a pointer. To be used instead of &
template<typename T >
T & ref (T *t)
 safely convert a pointer to a reference. To be used instead of *
template<typename T >
const T * ptr (const T &t)
 safely convert a const reference to a const pointer. To be used instead of &
template<typename T >
const T & ref (const T *t)
 safely convert a const pointer to a const reference. To be used instead of *
z::string operator+ (const char *src, const z::string &dst)
 Add char* string to string.
QDebug operator<< (QDebug db, const z::string &ss)
 Write string to debug stream.
uint qHash (const z::string &key)
 Return hash of a string.
uint qHash (const double &key)
 Return hash of a double.
z::streamoperator<< (z::stream &ss, const int &val)
 Write a int value to a stream.
z::streamoperator<< (z::stream &ss, const char *val)
 Write a string value to a stream.
z::streamoperator<< (z::stream &ss, const QString &val)
 Write a string value to a stream.
z::streamoperator<< (z::stream &ss, const z::string &val)
 Write a string value to a stream.
template<typename derT , typename listT , typename iterT , typename V >
z::streamoperator<< (z::stream &ss, const z::listbase< derT, listT, iterT, V > &val)
 streamers for list
template<typename derT , typename K , typename V >
z::streamoperator<< (z::stream &ss, const z::dictbase< derT, K, V > &val)
 streamers for dictionary
z::streamoperator<< (z::stream &ss, const z::end &e)
 Writes EOL to a stream.
z::streamoperator<< (z::stream &ss, const z::qid &val)
 Write an any value to a stream.
uint qHash (const z::qid &key)
 Returns the hash of an id.
template<typename T >
QVariant getQVar (const T &v)
 Set the value of a QVariant with any type.
z::any getVar (const QVariant &v)
 Convert a QVariant to an any type.
template<>
QVariant getQVar (const z::string &v)
 Set the value of a QVariant with a string.
z::streamoperator<< (z::stream &ss, const z::any &val)
 Write an any value to a stream.
bool operator< (const key &lhs, const key &rhs)
 Compare two any instances.
uint getTypeHash (const z::string &name, const int64 &p)
 Get the hash of a type.
z::streamoperator<< (z::stream &ss, const z::key &val)
 Write an key value to a stream.
QDebug operator<< (QDebug db, const z::any &val)
 Debug streamers for any type.
template<typename ToT , typename FromT >
ToT * dcast (FromT *from, const z::string &msg)
 safely cast a pointer to a sub-class, test for null. To be used instead of dynamic_cast
template<typename ToT , typename FromT >
ToT & dcast (FromT &from, const z::string &msg)
 safely cast a reference to a sub-class, test for null. To be used instead of dynamic_cast

Detailed Description

Holds the definitions of all intrinsic Zen types.


Function Documentation

ToT* dcast ( FromT *  from,
const z::string msg 
) [inline]

safely cast a pointer to a sub-class, test for null. To be used instead of dynamic_cast

Safe dynamic cast of ref's and pointers (to be used instead of dynamic_cast<>) Defined here because it refers exception.

Parameters:
fromThe pointer to cast
msgThe message to throw on error
Returns:
The casted pointer
ToT& dcast ( FromT &  from,
const z::string msg 
) [inline]

safely cast a reference to a sub-class, test for null. To be used instead of dynamic_cast

Parameters:
fromThe reference to cast
msgThe message to throw on error
Returns:
The casted reference
QDebug operator<< ( QDebug  db,
const z::any val 
) [inline]

Debug streamers for any type.

Parameters:
dbThe debug instance
valThe value to write
Returns:
The QDebug instance
T* ptr ( T &  t) [inline]

safely convert a reference to a pointer. To be used instead of &

Parameters:
tThe reference to convert
Returns:
Pointer value
const T* ptr ( const T &  t) [inline]

safely convert a const reference to a const pointer. To be used instead of &

Parameters:
tconst The reference to convert
Returns:
Pointer value
const T& ref ( const T *  t) [inline]

safely convert a const pointer to a const reference. To be used instead of *

Parameters:
tThe const pointer to convert
Returns:
Reference value
T& ref ( T *  t) [inline]

safely convert a pointer to a reference. To be used instead of *

Parameters:
tThe pointer to convert
Returns:
Reference value
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines