26 #ifndef __TERRALIB_DATAACCESS_INTERNAL_OBJECTIDSET_H
27 #define __TERRALIB_DATAACCESS_INTERNAL_OBJECTIDSET_H
30 #include "../../common/Comparators.h"
31 #include "../Config.h"
40 namespace gm {
class Envelope; }
75 void addProperty(
const std::string& name, std::size_t pos,
int type);
201 std::set<ObjectId*, te::common::LessCmp<ObjectId*> >::const_iterator
begin()
const;
208 std::set<ObjectId*, te::common::LessCmp<ObjectId*> >::const_iterator
end()
const;
219 std::set<ObjectId*, te::common::LessCmp<ObjectId*> >
m_oids;
This is an abstract class that models a query expression.
This class represents a set of unique ids created in the same context. i.e. from the same data set.
std::vector< std::string > m_pnames
The list of property names used to generate the unique ids.
std::set< ObjectId *, te::common::LessCmp< ObjectId * > > m_oids
The set of unique ids.
ObjectIdSet * clone() const
Expression * getExpressionByInClause(const std::string &source="") const
void addProperty(const std::string &name, std::size_t pos, int type)
It adds a property that will be used to generate the unique ids.
const std::vector< std::string > & getPropertyNames() const
It returns the property names used to generated the oids.
void symDifference(const ObjectIdSet *rhs)
It performs the symmetric difference operation between this ObjectIdSet and the given ObjectIdSet.
const std::vector< std::size_t > & getPropertyPos() const
It returns the property positions used to generated the oids.
~ObjectIdSet()
Destructor.
void remove(ObjectId *oid)
Removes the object id from set.
std::vector< std::size_t > m_ppos
The list of property positions used to generate the unique ids.
void difference(const ObjectIdSet *rhs)
It performs the difference operation between this ObjectIdSet and the given ObjectIdSet.
ObjectIdSet()
Constructor.
void add(ObjectId *oid)
It adds an object id to this object id set.
void Union(ObjectIdSet *rhs)
It performs the union operation between this ObjectIdSet and the given ObjectIdSet.
Expression * getExpression() const
It returns the expression that can be used to retrieve the data set that contains the all indentified...
te::da::Expression * m_expression
The expression that can be used to retrieve the data set that contains the all indentified elements.
ObjectIdSet(const ObjectIdSet &rhs, bool copyOids=true)
Copy Constructor.
std::set< ObjectId *, te::common::LessCmp< ObjectId * > >::const_iterator end() const
Returns an iterator for the object ids in container.
const std::vector< int > & getPropertyTypes() const
It returns the property types used to generated the oids.
bool isExpressionClauseIn() const
void setExpression(te::da::Expression *expression, bool isClauseIn)
It set the expression that can be used to retrieve the data set that contains the all indentified ele...
void setExpressionByIntersection(const std::string &geomAttrName, const te::gm::Envelope &env, int srid)
std::vector< int > m_ptypes
The list of property types used to generate the unique ids.
void setExpressionByInClause(const std::string &source="")
bool contains(ObjectId *oid) const
It returns if the object id set contains the given oid.
void clear()
It clears this object id set.
std::set< ObjectId *, te::common::LessCmp< ObjectId * > >::const_iterator begin() const
Returns an iterator for the object ids in container.
std::size_t size() const
It returns the object id set size.
This class represents an unique id for a data set element.
An Envelope defines a 2D rectangular region.
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.