29 #ifndef CDPL_CHEM_MATCHCONSTRAINTLIST_HPP
30 #define CDPL_CHEM_MATCHCONSTRAINTLIST_HPP
112 id(id), relation(relation) {}
121 template <
typename T>
123 id(id), relation(rel), value(std::forward<
T>(val))
162 template <
typename T>
165 return value.getData<
T>();
172 template <
typename T>
175 value = std::forward<T>(val);
269 template <
typename T>
276 const char* getClassName()
const;
Definition of class CDPL::Base::Any.
Definition of class CDPL::Util::Array.
Definition of the preprocessor macro CDPL_CHEM_API.
#define CDPL_CHEM_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Safe, type checked container for arbitrary data of variable type.
Definition: Any.hpp:60
Data structure storing a set of Chem::MatchConstraint objects together with a logical type.
Definition: MatchConstraintList.hpp:198
void addElement(unsigned int id, MatchConstraint::Relation rel, T &&val)
Appends a new Chem::MatchConstraint element with the given identifier, relational constraint on the v...
Definition: MatchConstraintList.hpp:270
void addElement(unsigned int id, MatchConstraint::Relation rel)
Appends a new Chem::MatchConstraint element with the given identifier and relational constraint on th...
std::shared_ptr< MatchConstraintList > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated MatchConstraintList instances.
Definition: MatchConstraintList.hpp:204
void setType(Type type)
Sets the logical type of the match constraint list.
Type getType() const
Returns the logical type of the match constraint list.
Type
Defines constants that describe the logical type of the match constraint list.
Definition: MatchConstraintList.hpp:210
@ NOT_AND_LIST
Specifies that at least one of the match constraints must not be fulfilled.
Definition: MatchConstraintList.hpp:220
@ AND_LIST
Specifies that all of the match constraints must be fulfilled.
Definition: MatchConstraintList.hpp:215
@ OR_LIST
Specifies that at least one of the match constraints must be fulfilled.
Definition: MatchConstraintList.hpp:225
MatchConstraintList(Type type=AND_LIST)
Constructs the MatchConstraintList instance with the specified logical type.
Definition: MatchConstraintList.hpp:237
Describes a single attribute comparison constraint between a query and a target object.
Definition: MatchConstraintList.hpp:53
const Base::Any & getValue() const
Returns the value of the query attribute.
void setRelation(Relation rel)
Sets the relational constraint that must be fulfilled by the values of matching query/target attribut...
bool hasValue() const
Tells whether a query attribute value has been set.
void setValue(T &&val)
Sets the value of the query attribute.
Definition: MatchConstraintList.hpp:173
MatchConstraint(unsigned int id, Relation relation)
Constructs the MatchConstraint instance with the given identifier and relational constraint on the va...
Definition: MatchConstraintList.hpp:111
void setID(unsigned int id)
Sets the match constraint identifier to id.
Relation getRelation() const
Returns the relational constraint that must be fulfilled by the values of matching query/target attri...
unsigned int getID() const
Returns the identifier of the match constraint.
MatchConstraint(unsigned int id, Relation rel, T &&val)
Constructs the MatchConstraint instance with the given identifier, relational constraint on the value...
Definition: MatchConstraintList.hpp:122
const T & getValue() const
Returns a const reference to the value of the query attribute of type T.
Definition: MatchConstraintList.hpp:163
Relation
Defines constants for the specification of relational constraints on the values of query/target attri...
Definition: MatchConstraintList.hpp:61
@ LESS_OR_EQUAL
Specifies that the value of the query attribute must be less than or equal to the corresponding value...
Definition: MatchConstraintList.hpp:90
@ EQUAL
Specifies that the value of the query attribute must be equal to the corresponding value of the targe...
Definition: MatchConstraintList.hpp:78
@ GREATER_OR_EQUAL
Specifies that the value of the query attribute must be greater than or equal to the corresponding va...
Definition: MatchConstraintList.hpp:96
@ LESS
Specifies that the value of the query attribute must be less than the corresponding value of the targ...
Definition: MatchConstraintList.hpp:72
@ GREATER
Specifies that the value of the query attribute must be greater than the corresponding value of the t...
Definition: MatchConstraintList.hpp:84
@ ANY
Specifies that the relation between the query and target attribute value is not constrained.
Definition: MatchConstraintList.hpp:66
Dynamic array class providing amortized constant time access to arbitrary elements.
Definition: Array.hpp:92
constexpr unsigned int T
Specifies Hydrogen (Tritium).
Definition: AtomType.hpp:67
The namespace of the Chemical Data Processing Library.