File: andnode.cpp

package info (click to toggle)
openmw 0.49.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,992 kB
  • sloc: cpp: 372,479; xml: 2,149; sh: 1,403; python: 797; makefile: 26
file content (20 lines) | stat: -rw-r--r-- 507 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "andnode.hpp"

#include <apps/opencs/model/filter/narynode.hpp>
#include <apps/opencs/model/filter/node.hpp>

CSMFilter::AndNode::AndNode(const std::vector<std::shared_ptr<Node>>& nodes)
    : NAryNode(nodes, "and")
{
}

bool CSMFilter::AndNode::test(const CSMWorld::IdTableBase& table, int row, const std::map<int, int>& columns) const
{
    int size = getSize();

    for (int i = 0; i < size; ++i)
        if (!(*this)[i].test(table, row, columns))
            return false;

    return true;
}