13#ifndef ABSTRACTBOWELEMENT_H
14#define ABSTRACTBOWELEMENT_H
29namespace PropertyCode {
61 else qd <<
"UNDEFINED";
85 virtual uint64_t
size(
void)
const = 0;
This class is the abstract base class of all elements that can be stored in a BoWText.
virtual std::set< uint64_t > getVertices() const =0
returns the set of vertices covered by this element
virtual uint64_t size(void) const =0
size of the AbstractBoWElement is the number of parts in the token: 0 for a predicate,...
virtual AbstractBoWElement * clone() const =0
virtual ~AbstractBoWElement()
virtual uint64_t getPosition(void) const =0
virtual BoWType getType() const
virtual void setLength(const uint64_t len)=0
virtual void setPosition(const uint64_t pos)=0
virtual std::string getIdUTF8String() const =0
function used to identify a bowtoken in a text (used in BowDumper)
virtual uint64_t getLength(void) const =0
virtual std::string getOutputUTF8String(const Common::PropertyCode::PropertyManager *macroManager=0) const =0
get a string of the AbstractBoWElement for output function
virtual Lima::LimaString getString(void) const =0
Provide tools to manage a specific property.
LIMA_BOW_EXPORT uint8_t toInt(const BoWType &bt)
BoWType
enum to characterize the type of the AbstractBoWElement
@ BOW_NOTYPE
the AbstractBoWElement is an abstract one that should not be instanciated
@ BOW_TERM
the AbstractBoWElement is a multi-term
@ BOW_NAMEDENTITY
the AbstractBoWElement is a named entity
@ BOW_TOKEN
the AbstractBoWElement is a simple token
@ BOW_PREDICATE
the AbstractBoWElement is a predicate (n-ary relation, template or semantic frame
T & operator<<(T &qd, const BoWType &bt)