GDB

Collaboration diagram for GDB:
This is the API for the managment of a Dex graph-database. More...


Files

file  common.h
 It contains common includes and definitions as well as set basic data types and enumerations.
file  Database.h
 It contains the definition of Database class as well as some other related classes.
file  Dex.h
 It contains the declaration of Dex and DexConfig classes.
file  Exception.h
 It contains a hierarchy of exceptions.
file  Export.h
 It contains the declaration of ExportManager interface and GraphExport, NodeExport, etc classes.
file  Graph.h
 It contains the definition of Graph class.
file  Graph_data.h
 It contains the definition of some Graph-related classes.
file  Handler.h
 It contains the definition of Handler class.
file  Objects.h
 It contains the definition of Object class.
file  ObjectsIterator.h
 It contains the definition of ObjectsIterator class.
file  Session.h
 It contains the definition of Session class.
file  Stream.h
 It contains the definition of stream classes.
file  Value.h
 It contains the definitio of Value class.
file  Values.h
 It contains the definition of Values class.
file  ValuesIterator.h
 It contains the definition of ValuesIterator class.

Classes

class  PlatformStatistics
 Platform usage statistics. More...
class  Platform
 Platform class. More...
class  DatabaseStatistics
 Database statistics. More...
class  Database
 Database class. More...
class  DexProperties
 Dex properties file. More...
class  DexConfig
 Dex configuration class. More...
class  Dex
 Dex class. More...
class  Exception
 Exception class. More...
class  IOException
 IO exception class. More...
class  FileNotFoundException
 File not found exception class. More...
class  NoSuchElementException
 No such element exception class. More...
class  Error
 Error class. More...
class  SystemError
 System error class. More...
class  AppError
 Application error class. More...
class  WrongArgumentError
 Wrong argument error class. More...
class  IOError
 IO error class. More...
class  LicenseError
 License error class. More...
class  UnsupportedOperationError
 Unsupported operation error class. More...
class  GraphExport
 Stores the graph exporting values. More...
class  NodeExport
 Stores the node exporting values. More...
class  EdgeExport
 Stores edge exporting values. More...
class  ExportManager
 Defines how to export a graph to an external format. More...
class  DefaultExport
 Default implementation for ExportManager class. More...
class  Graph
 Graph class. More...
class  Type
 Type data class. More...
class  TypeList
 Dex type identifier list. More...
class  TypeListIterator
 TypeListIterator class. More...
class  Attribute
 Attribute data class. More...
class  AttributeList
 Dex attribute identifier list. More...
class  AttributeListIterator
 AttributeListIterator class. More...
class  OIDList
 Dex object identifier list. More...
class  OIDListIterator
 OIDListIterator class. More...
class  AttributeStatistics
 Attribute statistics class. More...
class  EdgeData
 Edge data class. More...
class  StringList
 String list. More...
class  StringListIterator
 StringListIterator class. More...
class  BooleanList
 Boolean list. More...
class  BooleanListIterator
 BooleanListIterator class. More...
class  Int32List
 Dex 32-bit signed integer list. More...
class  Int32ListIterator
 Int32ListIterator class. More...
class  Handler< T >
 Handles a reference. More...
class  Objects
 Object identifier set class. More...
class  ObjectsIterator
 ObjectsIterator class. More...
class  Session
 Session class. More...
class  TextStream
 TextStream class. More...
class  Value
 Value class. More...
class  Values
 Value set class. More...
class  ValuesIterator
 ValuesIterator class. More...

Defines

#define BEGIN_DEX_NAMESPACE   namespace dex {
 Begining macro for the dex namespace.
#define END_DEX_NAMESPACE   }
 Ending macro for the dex namespace.
#define BEGIN_DEX_GDB_NAMESPACE   BEGIN_DEX_NAMESPACE namespace gdb {
 Begining macro for the dex::gdb namespace.
#define END_DEX_GDB_NAMESPACE   END_DEX_NAMESPACE }
 Ending macro for the dex::gdb namespace.
#define BEGIN_DEX_IO_NAMESPACE   BEGIN_DEX_NAMESPACE namespace io {
 Begining macro for the dex::io namespace.
#define END_DEX_IO_NAMESPACE   END_DEX_NAMESPACE }
 Ending macro for the dex::io namespace.
#define BEGIN_DEX_SCRIPT_NAMESPACE   BEGIN_DEX_NAMESPACE namespace script {
 Begining macro for the dex::script namespace.
#define END_DEX_SCRIPT_NAMESPACE   END_DEX_NAMESPACE }
 Ending macro for the dex::script namespace.
#define BEGIN_DEX_ALGORITHMS_NAMESPACE   BEGIN_DEX_NAMESPACE namespace algorithms {
 Begining macro for the dex::algorithms namespace.
#define END_DEX_ALGORITHMS_NAMESPACE   END_DEX_NAMESPACE }
 Ending macro for the dex::algorithms namespace.

Typedefs

typedef bool bool_t
 Boolean type.
typedef char char_t
 Character type.
typedef wchar_t uchar_t
 Unicode character type.
typedef signed int int32_t
 32-bit signed integer type.
typedef signed long long int64_t
 64-bit signed integer type.
typedef double double64_t
 64-bit double type.
typedef int32_t type_t
 Graph node or edge type type.
typedef int32_t attr_t
 Graph attribute type.
typedef int64_t oid_t
 Graph oid type.
typedef int32_t ColorRGB
 Color codified as RGB 32-bit int.

Enumerations

enum  ObjectType {
  Node,
  Edge
}
 Object type enumeration. More...
enum  DataType {
  Boolean,
  Integer,
  Long,
  Double,
  Timestamp,
  String,
  Text,
  OID
}
 Data type enumeration. More...
enum  Condition {
  Equal,
  GreaterEqual,
  GreaterThan,
  LessEqual,
  LessThan,
  NotEqual,
  Like,
  LikeNoCase,
  Between,
  RegExp
}
 Condition operators enumeration. More...
enum  Order {
  Ascendent,
  Descendent
}
 Order enumeration. More...
enum  EdgesDirection {
  Ingoing,
  Outgoing,
  Any
}
 Edges direction enumeration. More...
enum  AttributeKind {
  Basic,
  Indexed,
  Unique
}
 Attribute kind enumeration. More...
enum  LogLevel {
  Off,
  Severe,
  Warning,
  Info,
  Config,
  Fine,
  Debug
}
 Log level enumeration. More...
enum  ExportType {
  Graphviz,
  GraphML,
  YGraphML
}
 Export type. More...
enum  NodeShape {
  Box,
  Round
}
 Node shape. More...

Functions

std::wostream & operator<< (std::wostream &wostrm, const enum DataType &dt)
 Easy STL printing operator redefinition.
std::wostream & operator<< (std::wostream &wostrm, const enum AttributeKind &ak)
 Easy STL printing operator redefinition.
 Handler::Handler (T *h)
 Creates a new instance with the given reference.
virtual Handler::~Handler ()
 Destructor.
T * Handler::GetHandler ()
 Gets the handled reference.
const T * Handler::GetHandler () const
 Gets the handled reference.
void Handler::SetHandler (T *h)
 Sets the handled reference.
void Handler::FreeHandler ()
 Frees (deletes) the handled reference.

Variables

BEGIN_DEX_GDB_NAMESPACE
typedef unsigned char 
byte_t
 Byte type.

Detailed Description

This is the API for the managment of a Dex graph-database.

All classes belonging to this group can be found into the dex::gdb namespace.


Typedef Documentation

typedef int32_t ColorRGB

Color codified as RGB 32-bit int.

Bits 24-31 are alpha, 16-23 are red, 8-15 are green, 0-7 are blue.


Enumeration Type Documentation

Attribute kind enumeration.

All the attributes can be used for query operations. But the performance in query operations with the Basic attributes will be worse than with Indexed and Unique attributes. Unique attributes works as a primary key, that is two objects cannot have the same value for an attribute (but NULL).

Author:
Sparsity Technologies http://www.sparsity-technologies.com
Enumerator:
Basic  Basic attribute kind.
Indexed  Indexed attribute kind.
Unique  Unique attribute kind.

enum Condition

Condition operators enumeration.

Author:
Sparsity Technologies http://www.sparsity-technologies.com
Enumerator:
Equal  Equal condition (==).

Null values can be used together with this condition to retrieve all objects having a null value for an attribute.

GreaterEqual  Greater or equal condition (>=).

Null values cannot be used together with this condition.

GreaterThan  Greater than condition (>).

Null values cannot be used together with this condition.

LessEqual  Less or equal condition (<=).

Null values cannot be used together with this condition.

LessThan  Less than condition (<).

Null values cannot be used together with this condition.

NotEqual  Not equal condition (!=).

Null values can be used together with this condition to retrieve all objects having a non-null value for an attribute.

Like  Substring condition.

Null values cannot be used together with this condition.

This condition can just be used together with String values. It allows for searching substrings (case sensitive). Ex:

 'AAABBBCCCD' Like 'BBB'   returns true
 'AAABBBCCCD' Like 'bbb'   returns false
 'AAABBBCCCD' Like 'E'     returns false
 
LikeNoCase  Substring (no case sensitive) condition.

Null values cannot be used together with this condition.

This condition can just be used together with String values. It allows for searching substrings (no case sensitive). Ex:

 'AAABBBCCCD' LikeNoCase 'BBB'   returns true
 'AAABBBCCCD' LikeNoCase 'bbb'   returns true
 'AAABBBCCCD' LikeNoCase 'E'     returns false
 
Between  In range operator condition ([x,y]).

Null values cannot be used together with this condition.

RegExp  Regular expression condition.

Null values cannot be used together with this condition.

This is condition can just be used together with String values. It allows for searching objects matching a given regular expression.

It is case sensitive.

Regular expression format conforms most of the POSIX Extended Regular Expressions.

Implemented operators are:

letter: expects that letter. Example: "a" true if it includes an a.

E1E2: two or more consecutive expressions are concatenated. Example: "b" true if it includes a substring ab.

E1|E2: expects one of both expressions. Example: "cat|dog" true if it includes cat or dog.

(E): groups an expression. Example: "r(u|a)n" true if it includes run or ran.

E{m,M}: an expression is repeated from a minimimum times, m, to a maximum times, M. If maximum, M, is zero, then unlimited number of repetitions is accepted. Example: "ab{1,3}" true if includes ab, abb or abbb.

E* E+ E?: equivalent to: E{0,0} E{1,0} E{0,1}.

[letters]: equivalent to: (letter1|letter2|...|lettern). Example: "[abc]" true if there is any of a or b or c.

[^letters]: expects none of those letters. Example: "[^abc]" false if there is any of a or b or c.

.: accepts any letter, equivalent to [^]

^E: expects an expression at the beginning. Example: "^a" true if it starts with a.

E$: expects an expression at the end. Example: "a$" true if it ends with a.

Some simple examples:

'AAABBBCCCD' ERE 'A+B*C+' returns true

'AAACCCD' ERE 'B*C+' returns true

'AAACCCD' ERE 'B+C+' returns false

'AAACCCD' ERE '^A[^]*D$' returns true

'AAACCCD' ERE 'B*C+$' returns false

enum DataType

Data type enumeration.

Author:
Sparsity Technologies http://www.sparsity-technologies.com
Enumerator:
Boolean  Boolean data type.
Integer  32-bit signed integer data type.
Long  64-bit signed integer data type.
Double  64-bit signed double data type.
Timestamp  Distance from Epoch (UTC) time in milliseconds precision.

It just works properly with timestamps in the range ['1970-01-01 00:00:01' UTC, '2038-01-19 03:14:07' UTC].

String  Unicode string data type.

2048 characters maximum length.

Text  Large unicode character object data type.

See also:
TextStream
OID  Object identifier data type (oid_t).

Edges direction enumeration.

Author:
Sparsity Technologies http://www.sparsity-technologies.com
Enumerator:
Ingoing  In-going edges.
Outgoing  Out-going edges.
Any  In-going or out-going edges.

enum ExportType

Export type.

Author:
Sparsity Technologies http://www.sparsity-technologies.com
Enumerator:
Graphviz  Export to Graphviz format.

Graphviz home page: http://www.graphviz.org

GraphML  Export to GraphML format.

GraphML home page: http://graphml.graphdrawing.org/

YGraphML  Export to YGRAPHML format.

It is an GraphML format extended with a set of yWorks ("http://www.yworks.com") extensions. Thus, it allows for the visualization of the exported graph with the public yEd visualization tool ("http://www.yworks.com/products/yed").

enum LogLevel

Log level enumeration.

Author:
Sparsity Technologies http://www.sparsity-technologies.com
Enumerator:
Off  Disable log.
Severe  Severe log level.

This is the lower log level, just critical errors are shown.

Warning  Warning log level.
Info  Info log level.
Config  Config log level.
Fine  Fine log level.

This is the higher and finest log level, everything is dumped to the log.

Debug  Debug log level.

This is for Dex development purposes and just works on debug versions of the library.

enum NodeShape

Node shape.

Author:
Sparsity Technologies http://www.sparsity-technologies.com
Enumerator:
Box  Box shape.
Round  Round shape.

enum ObjectType

Object type enumeration.

Author:
Sparsity Technologies http://www.sparsity-technologies.com
Enumerator:
Node  Node object type.
Edge  Edge object type.

enum Order

Order enumeration.

Author:
Sparsity Technologies http://www.sparsity-technologies.com
Enumerator:
Ascendent  From lower to higher.
Descendent  From higher to lower.


Function Documentation

template<typename T>
const T* Handler< T >::GetHandler (  )  const [inline, inherited]

Gets the handled reference.

Returns:
The handled reference.

template<typename T>
T* Handler< T >::GetHandler (  )  [inline, inherited]

Gets the handled reference.

Returns:
The handled reference.

template<typename T>
Handler< T >::Handler ( T *  h  )  [inline, inherited]

Creates a new instance with the given reference.

Parameters:
h [in] Reference to be handled.

std::wostream& operator<< ( std::wostream &  wostrm,
const enum AttributeKind ak 
)

Easy STL printing operator redefinition.

It allows to do: ... << dex::gdb::Basic << ...

std::wostream& operator<< ( std::wostream &  wostrm,
const enum DataType dt 
)

Easy STL printing operator redefinition.

It allows to do: ... << dex::gdb::String << ...

template<typename T>
void Handler< T >::SetHandler ( T *  h  )  [inline, protected, inherited]

Sets the handled reference.

Parameters:
h [in] The handled reference.

template<typename T>
virtual Handler< T >::~Handler (  )  [inline, virtual, inherited]

Destructor.

Frees the handled reference.


Generated on Mon Oct 15 14:40:26 2012 for Dex by  doxygen 1.5.6