本文整理汇总了C++中AtomList::push_back方法的典型用法代码示例。如果您正苦于以下问题:C++ AtomList::push_back方法的具体用法?C++ AtomList::push_back怎么用?C++ AtomList::push_back使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AtomList
的用法示例。
在下文中一共展示了AtomList::push_back方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: atoms
AtomList atoms(const AtomContainer& fragment, const String& expression)
{
AtomList result;
// iterate over all atoms
AtomConstIterator it = fragment.beginAtom();
if (expression == "")
{
for (; +it; ++it)
{
// store the atom pointer in the list
result.push_back(const_cast<Atom*>(&*it));
}
}
else
{
Expression match(expression);
for (; +it; ++it)
{
if (match(*it))
{
// store the atom pointer in the list
result.push_back(const_cast<Atom*>(&*it));
}
}
}
return result;
}
示例2: subSequences
ExtendedIdListItemSetVector ExtendedIdListItemSet::subSequences() {
ExtendedIdListItemSetVector subSequences;
AtomList atomsFlattened = allAtomsFlattened();
for (int i = 0; i < atomsFlattened.size(); ++i) {
AtomList atomList;
int o = i + 1;
for (int j = 0; j < atomsFlattened.size(); ++j) {
if (j != o) {
atomList.push_back(atomsFlattened[j]);
}
}
ExtendedIdListItemSet subItemSet;
for (auto atom : atomList) {
auto atomSetIt = find_if(begin(_atomSets), end(_atomSets), [&atom](AtomSet atomSet) {
return find(begin(atomSet.atoms()), end(atomSet.atoms()), atom) != end(atomSet.atoms());
});
int index = std::distance(begin(_atomSets), atomSetIt);
if (index < subItemSet.atomSets().size()) {
subItemSet.addAtomToAtomSetAtIndex(atom, index);
} else {
subItemSet.addAtomSet(AtomSet(atom));
}
}
subSequences.push_back(subItemSet);
}
return subSequences;
}
示例3: allAtomsFlattened
AtomList ExtendedIdListItemSet::allAtomsFlattened() const {
AtomList allAtoms;
for (AtomSet atomSet : _atomSets) {
for (auto atom : atomSet.atoms()) {
allAtoms.push_back(atom);
}
}
return allAtoms;
}