Coverage Report

Created: 2024-09-08 06:06

/src/qpdf/libqpdf/QPDFObjGen.cc
Line
Count
Source (jump to first uncovered line)
1
#include <qpdf/QPDFObjGen.hh>
2
3
#include <qpdf/QPDFObjectHandle.hh>
4
#include <qpdf/QPDFObjectHelper.hh>
5
#include <qpdf/QPDFObject_private.hh>
6
7
#include <stdexcept>
8
9
// ABI: inline and pass og by value
10
std::ostream&
11
operator<<(std::ostream& os, const QPDFObjGen& og)
12
0
{
13
0
    os << og.obj << "," << og.gen;
14
0
    return os;
15
0
}
16
17
// ABI: inline
18
std::string
19
QPDFObjGen::unparse(char separator) const
20
415k
{
21
415k
    return std::to_string(obj) + separator + std::to_string(gen);
22
415k
}
23
24
bool
25
QPDFObjGen::set::add(QPDFObjectHandle const& oh)
26
20.9k
{
27
20.9k
    if (auto* ptr = oh.getObjectPtr()) {
28
20.9k
        return add(ptr->getObjGen());
29
20.9k
    } else {
30
0
        throw std::logic_error(
31
0
            "attempt to retrieve QPDFObjGen from uninitialized QPDFObjectHandle");
32
0
        return false;
33
0
    }
34
20.9k
}
35
36
bool
37
QPDFObjGen::set::add(QPDFObjectHelper const& helper)
38
0
{
39
0
    if (auto* ptr = helper.getObjectHandle().getObjectPtr()) {
40
0
        return add(ptr->getObjGen());
41
0
    } else {
42
0
        throw std::logic_error(
43
0
            "attempt to retrieve QPDFObjGen from uninitialized QPDFObjectHandle");
44
0
        return false;
45
0
    }
46
0
}
47
48
void
49
QPDFObjGen::set::erase(QPDFObjectHandle const& oh)
50
0
{
51
0
    if (auto* ptr = oh.getObjectPtr()) {
52
0
        erase(ptr->getObjGen());
53
0
    } else {
54
0
        throw std::logic_error(
55
0
            "attempt to retrieve QPDFObjGen from uninitialized QPDFObjectHandle");
56
0
    }
57
0
}
58
59
void
60
QPDFObjGen::set::erase(QPDFObjectHelper const& helper)
61
0
{
62
0
    if (auto* ptr = helper.getObjectHandle().getObjectPtr()) {
63
0
        erase(ptr->getObjGen());
64
0
    } else {
65
0
        throw std::logic_error(
66
0
            "attempt to retrieve QPDFObjGen from uninitialized QPDFObjectHandle");
67
0
    }
68
0
}