#include <AttributeParser.h>
Inheritance diagram for VGServer::AttributeSelectorList:
Public Member Functions | |
void | addAttrsel (const class ParseNode *attrsel) |
add a new attribute via AttributeSelector tree. | |
void | clear () |
clears the selector list | |
AttributeProperties & | getProperties (unsigned int i) const |
operator[] is an ambigious call. | |
ParseNode * | getSelector (unsigned int i) const |
operator[] is an ambigious call. | |
bool | parseString (const std::string &input, const class GraphProperties &gp, vertex_or_edge_t voe) |
uses the spirit parser to build a parse tree and fills this structure with the resulting selector trees. | |
unsigned int | processEdgeAttributeBlob (AttributeVertexTinyBlob &attrblob, const class GraphContainer &gc, const class Changelist &cl, unsigned int esrc, unsigned etgt) const |
create a filled AttributeVertexTinyBlob containing the edge values extracted by this selector list. | |
unsigned int | processVertexAttributeBlob (AttributeVertexTinyBlob &attrblob, const class GraphContainer &gc, const class Changelist &cl, unsigned int vid) const |
create a filled AttributeVertexTinyBlob containing the vertex values extracted by this selector list. | |
void | selectStar (const AttributePropertiesList &otherlist, vertex_or_edge_t voe) |
do the * selection: add all attributes from the AttributePropertiesList | |
size_t | size () const |
ambigious call because AttributePropertiesList is-as vector. | |
std::string | toString () const |
more a debug function which returns the parsed selection specification as a string. | |
~AttributeSelectorList () | |
called to free all the selector trees |
It is derived from AttributePropertiesList in order to inherit the Attribute Binary Description Format functions.
Definition at line 58 of file AttributeParser.h.
VGServer::AttributeSelectorList::~AttributeSelectorList | ( | ) | [inline] |
called to free all the selector trees
Definition at line 70 of file AttributeParser.h.
References clear().
void VGServer::AttributeSelectorList::addAttrsel | ( | const class ParseNode * | attrsel | ) |
add a new attribute via AttributeSelector tree.
the type of the tree is determined via the getConstVal function.
Definition at line 1380 of file AttributeParser.cc.
References VGServer::ATTRTYPE_INVALID.
void VGServer::AttributeSelectorList::clear | ( | ) | [inline] |
clears the selector list
Reimplemented from VGServer::AttributePropertiesList.
Definition at line 76 of file AttributeParser.h.
References VGServer::AttributePropertiesList::clear().
Referenced by ~AttributeSelectorList().
class AttributeProperties& VGServer::AttributeSelectorList::getProperties | ( | unsigned int | i | ) | const [inline] |
operator[] is an ambigious call.
Definition at line 113 of file AttributeParser.h.
Referenced by processEdgeAttributeBlob(), and processVertexAttributeBlob().
class ParseNode* VGServer::AttributeSelectorList::getSelector | ( | unsigned int | i | ) | const [inline] |
operator[] is an ambigious call.
Definition at line 109 of file AttributeParser.h.
Referenced by processEdgeAttributeBlob(), and processVertexAttributeBlob().
bool VGServer::AttributeSelectorList::parseString | ( | const std::string & | input, | |
const class GraphProperties & | gp, | |||
vertex_or_edge_t | voe | |||
) |
uses the spirit parser to build a parse tree and fills this structure with the resulting selector trees.
Returns true if parsing was successful, throws Exceptions for various syntactic and semantic errors.
Definition at line 1443 of file AttributeParser.cc.
References VGServer::AttributeParser::build_attrlist(), and g_snprintf.
unsigned int VGServer::AttributeSelectorList::processEdgeAttributeBlob | ( | AttributeVertexTinyBlob & | attrblob, | |
const class GraphContainer & | gc, | |||
const class Changelist & | cl, | |||
unsigned int | esrc, | |||
unsigned | etgt | |||
) | const [inline] |
create a filled AttributeVertexTinyBlob containing the edge values extracted by this selector list.
Return the length of the resulting attribute chain.
Definition at line 155 of file AttributeParser.h.
References VGServer::ATTRTYPE_BOOL, VGServer::ATTRTYPE_INVALID, VGServer::AttributePropertiesList::defbytes, getProperties(), getSelector(), VGServer::ParseNode::getValue(), VGServer::TpAttributeBlob< AllocPolicy >::putAnyType(), VGServer::TpAttributeBlob< AllocPolicy >::putBool(), size(), VGServer::VE_EDGE, and VGServer::TpAttributeBlob< AllocPolicy >::zero().
unsigned int VGServer::AttributeSelectorList::processVertexAttributeBlob | ( | AttributeVertexTinyBlob & | attrblob, | |
const class GraphContainer & | gc, | |||
const class Changelist & | cl, | |||
unsigned int | vid | |||
) | const [inline] |
create a filled AttributeVertexTinyBlob containing the vertex values extracted by this selector list.
Return the length of the resulting attribute chain.
Definition at line 119 of file AttributeParser.h.
References VGServer::ATTRTYPE_BOOL, VGServer::ATTRTYPE_INVALID, VGServer::AttributePropertiesList::defbytes, getProperties(), getSelector(), VGServer::ParseNode::getValue(), VGServer::TpAttributeBlob< AllocPolicy >::putAnyType(), VGServer::TpAttributeBlob< AllocPolicy >::putBool(), size(), VGServer::VE_VERTEX, and VGServer::TpAttributeBlob< AllocPolicy >::zero().
void VGServer::AttributeSelectorList::selectStar | ( | const AttributePropertiesList & | otherlist, | |
vertex_or_edge_t | voe | |||
) |
do the * selection: add all attributes from the AttributePropertiesList
Definition at line 1364 of file AttributeParser.cc.
size_t VGServer::AttributeSelectorList::size | ( | ) | const [inline] |
ambigious call because AttributePropertiesList is-as vector.
But their size must be the same anyway.
Definition at line 103 of file AttributeParser.h.
Referenced by processEdgeAttributeBlob(), and processVertexAttributeBlob().
std::string VGServer::AttributeSelectorList::toString | ( | ) | const |
more a debug function which returns the parsed selection specification as a string.
Definition at line 1476 of file AttributeParser.cc.