OEIdxSelected¶
template<class Arg>
class OEIdxSelected : public OESystem::OEUnaryPredicate<Arg>
This class represents OEIdxSelected, a template functor that identifies objects
which provide a GetIdx
method and have been selected by index in the
boolean array or vector or OEBitVector used
to initialize the class.
See also
The following methods are publicly inherited from OEUnaryPredicate:
The following methods are publicly inherited from OEUnaryFunction:
The following specializations exist for this template:
Specialized Functor |
Definition |
---|---|
OEAtomIdxSelected |
|
OEBondIdxSelected |
|
OEConfIdxSelected |
Constructors¶
OEIdxSelected(const OESystem::OEBitVector &bv)
OEIdxSelected(const std::vector<bool> &vb)
OEIdxSelected(const bool *ap, unsigned int sz)
OEIdxSelected(const bool *ap)
Construct the functor from an OEBitVector, vector<bool>
or boolean array (call it s)
where the selection state of the object with internal index i is stored at s[i]
(e.g. bv.SetBitOn(atom.GetIdx())
). The caller is responsible for making sure that the input
OEBitVector, vector<bool>
or array is sufficient size to refer to the maximum index value of
the objects it will be applied to.
If only const bool *ap
is supplied to the constructor, the functor continues to accesses the boolean array
by its pointer. In that case, the caller is responsible for making certain that it is not be deleted before
this functor is called. Because of this, it is recommended that you pass in the array size as well.
If other arguments are supplied to the constructor, the selection states will be copied into an internal representation
and the OEBitVector, vector<bool>
or array can be deleted before the functor is called.
operator()¶
bool operator()(const Arg &a) const
Returns true
, if the state of the
array, vector
or OEBitVector used to construct
the functor at the index returned by the
Arg.GetIdx()
method is true
.
CreateCopy¶
OETYPENAME OESystem::OEUnaryFunction<Arg, bool> *CreateCopy() const
Deep copy constructor that returns a copy of the object. The memory for the returned OEIdxSelected object is dynamically allocated and owned by the caller.
The returned copy should be deallocated using C++ delete operator in order to prevent a memory leak.