File: common.cc

package info (click to toggle)
kig 4%3A25.08.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,716 kB
  • sloc: cpp: 41,465; xml: 851; python: 486; perl: 23; sh: 17; makefile: 3
file content (26 lines) | stat: -rw-r--r-- 849 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-FileCopyrightText: 2003 Dominique Devriese <devriese@kde.org>

// SPDX-License-Identifier: GPL-2.0-or-later

#include "common.h"
#include "object_holder.h"

std::vector<ObjectCalcer *> getAllCalcers(const std::vector<ObjectHolder *> &os)
{
    std::set<ObjectCalcer *> ret;
    for (std::vector<ObjectHolder *>::const_iterator i = os.begin(); i != os.end(); ++i) {
        if ((*i)->nameCalcer())
            ret.insert((*i)->nameCalcer());
        ret.insert((*i)->calcer());
    }
    return std::vector<ObjectCalcer *>(ret.begin(), ret.end());
}

std::vector<ObjectCalcer *> getCalcers(const std::vector<ObjectHolder *> &os)
{
    std::vector<ObjectCalcer *> ret;
    ret.reserve(os.size());
    for (std::vector<ObjectHolder *>::const_iterator i = os.begin(); i != os.end(); ++i)
        ret.push_back((*i)->calcer());
    return ret;
}