Coverage Report

Created: 2026-04-29 07:28

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libetonyek/src/lib/contexts/IWORKMutableArrayElement.h
Line
Count
Source
1
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/*
3
 * This file is part of the libetonyek project.
4
 *
5
 * This Source Code Form is subject to the terms of the Mozilla Public
6
 * License, v. 2.0. If a copy of the MPL was not distributed with this
7
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
 */
9
10
#ifndef IWORKMUTABLEARRAYELEMENT_H_INCLUDED
11
#define IWORKMUTABLEARRAYELEMENT_H_INCLUDED
12
13
#include "IWORKContainerContext.h"
14
15
namespace libetonyek
16
{
17
18
template<typename Type, class NestedParser, template<typename T, class C> class Collector, unsigned Id, unsigned RefId = 0>
19
class IWORKMutableArrayElement : public IWORKContainerContext<Type, NestedParser, Collector, Id, RefId>
20
{
21
  typedef IWORKContainerContext<Type, NestedParser, Collector, Id, RefId> Super_t;
22
  typedef std::unordered_map<ID_t, Type> ContextDict_t;
23
  typedef std::unordered_map<ID_t, std::deque<Type> > ArrayDict_t;
24
25
public:
26
  IWORKMutableArrayElement(IWORKXMLParserState &state, ArrayDict_t &arrayDict, std::deque<Type> &elements)
27
0
    : Super_t(state, elements)
28
0
    , m_arrayDict(arrayDict)
29
0
    , m_elements(elements)
30
0
  {
31
0
  }
32
33
  IWORKMutableArrayElement(IWORKXMLParserState &state, ArrayDict_t &arrayDict, ContextDict_t &dict, std::deque<Type> &elements)
34
0
    : Super_t(state, dict, elements)
35
0
    , m_arrayDict(arrayDict)
36
0
    , m_elements(elements)
37
0
  {
38
0
  }
Unexecuted instantiation: IWORKPropertyMapElement.cpp:libetonyek::IWORKMutableArrayElement<libetonyek::IWORKShadow, libetonyek::(anonymous namespace)::CoreImageFilterInfoElement, libetonyek::IWORKDirectCollector, 131211u, 131212u>::IWORKMutableArrayElement(libetonyek::IWORKXMLParserState&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::deque<libetonyek::IWORKShadow, std::__1::allocator<libetonyek::IWORKShadow> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::deque<libetonyek::IWORKShadow, std::__1::allocator<libetonyek::IWORKShadow> > > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKShadow, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, libetonyek::IWORKShadow> > >&, std::__1::deque<libetonyek::IWORKShadow, std::__1::allocator<libetonyek::IWORKShadow> >&)
Unexecuted instantiation: IWORKTableInfoElement.cpp:libetonyek::IWORKMutableArrayElement<libetonyek::IWORKTableVector, libetonyek::(anonymous namespace)::TableVectorElement, libetonyek::IWORKPushCollector, 131479u, 0u>::IWORKMutableArrayElement(libetonyek::IWORKXMLParserState&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::deque<libetonyek::IWORKTableVector, std::__1::allocator<libetonyek::IWORKTableVector> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::deque<libetonyek::IWORKTableVector, std::__1::allocator<libetonyek::IWORKTableVector> > > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTableVector, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, libetonyek::IWORKTableVector> > >&, std::__1::deque<libetonyek::IWORKTableVector, std::__1::allocator<libetonyek::IWORKTableVector> >&)
Unexecuted instantiation: IWORKTableInfoElement.cpp:libetonyek::IWORKMutableArrayElement<libetonyek::IWORKTableCell, libetonyek::(anonymous namespace)::TableCellElement, libetonyek::IWORKPushCollector, 131472u, 131473u>::IWORKMutableArrayElement(libetonyek::IWORKXMLParserState&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::deque<libetonyek::IWORKTableCell, std::__1::allocator<libetonyek::IWORKTableCell> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::deque<libetonyek::IWORKTableCell, std::__1::allocator<libetonyek::IWORKTableCell> > > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTableCell, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, libetonyek::IWORKTableCell> > >&, std::__1::deque<libetonyek::IWORKTableCell, std::__1::allocator<libetonyek::IWORKTableCell> >&)
Unexecuted instantiation: libetonyek::IWORKMutableArrayElement<libetonyek::IWORKListLabelGeometry, libetonyek::IWORKListLabelGeometryElement, libetonyek::IWORKPushCollector, 131354u, 131355u>::IWORKMutableArrayElement(libetonyek::IWORKXMLParserState&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::deque<libetonyek::IWORKListLabelGeometry, std::__1::allocator<libetonyek::IWORKListLabelGeometry> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::deque<libetonyek::IWORKListLabelGeometry, std::__1::allocator<libetonyek::IWORKListLabelGeometry> > > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKListLabelGeometry, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, libetonyek::IWORKListLabelGeometry> > >&, std::__1::deque<libetonyek::IWORKListLabelGeometry, std::__1::allocator<libetonyek::IWORKListLabelGeometry> >&)
Unexecuted instantiation: libetonyek::IWORKMutableArrayElement<boost::variant<bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTextLabel, std::__1::shared_ptr<libetonyek::IWORKMediaContent> >, libetonyek::IWORKListLabelTypeinfoElement, libetonyek::IWORKPushCollector, 131356u, 131357u>::IWORKMutableArrayElement(libetonyek::IWORKXMLParserState&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::deque<boost::variant<bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTextLabel, std::__1::shared_ptr<libetonyek::IWORKMediaContent> >, std::__1::allocator<boost::variant<bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTextLabel, std::__1::shared_ptr<libetonyek::IWORKMediaContent> > > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::deque<boost::variant<bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTextLabel, std::__1::shared_ptr<libetonyek::IWORKMediaContent> >, std::__1::allocator<boost::variant<bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTextLabel, std::__1::shared_ptr<libetonyek::IWORKMediaContent> > > > > > >&, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, boost::variant<bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTextLabel, std::__1::shared_ptr<libetonyek::IWORKMediaContent> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, boost::variant<bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTextLabel, std::__1::shared_ptr<libetonyek::IWORKMediaContent> > > > >&, std::__1::deque<boost::variant<bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTextLabel, std::__1::shared_ptr<libetonyek::IWORKMediaContent> >, std::__1::allocator<boost::variant<bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTextLabel, std::__1::shared_ptr<libetonyek::IWORKMediaContent> > > >&)
39
40
private:
41
  IWORKXMLContextPtr_t element(const int name) override
42
0
  {
43
0
    return Super_t::element(name);
44
0
  }
Unexecuted instantiation: libetonyek::IWORKMutableArrayElement<double, libetonyek::IWORKNumberElement<double>, libetonyek::IWORKPushCollector, 131376u, 0u>::element(int)
Unexecuted instantiation: IWORKPropertyMapElement.cpp:libetonyek::IWORKMutableArrayElement<libetonyek::IWORKShadow, libetonyek::(anonymous namespace)::CoreImageFilterInfoElement, libetonyek::IWORKDirectCollector, 131211u, 131212u>::element(int)
Unexecuted instantiation: IWORKTableInfoElement.cpp:libetonyek::IWORKMutableArrayElement<libetonyek::IWORKTableVector, libetonyek::(anonymous namespace)::TableVectorElement, libetonyek::IWORKPushCollector, 131479u, 0u>::element(int)
Unexecuted instantiation: IWORKTableInfoElement.cpp:libetonyek::IWORKMutableArrayElement<libetonyek::IWORKTableCell, libetonyek::(anonymous namespace)::TableCellElement, libetonyek::IWORKPushCollector, 131472u, 131473u>::element(int)
Unexecuted instantiation: libetonyek::IWORKMutableArrayElement<libetonyek::IWORKListLabelGeometry, libetonyek::IWORKListLabelGeometryElement, libetonyek::IWORKPushCollector, 131354u, 131355u>::element(int)
Unexecuted instantiation: libetonyek::IWORKMutableArrayElement<boost::variant<bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTextLabel, std::__1::shared_ptr<libetonyek::IWORKMediaContent> >, libetonyek::IWORKListLabelTypeinfoElement, libetonyek::IWORKPushCollector, 131356u, 131357u>::element(int)
45
46
  void endOfElement() override
47
0
  {
48
0
    Super_t::endOfElement();
49
0
    if (this->getId())
50
0
      m_arrayDict[get(this->getId())] = m_elements;
51
0
  }
Unexecuted instantiation: libetonyek::IWORKMutableArrayElement<double, libetonyek::IWORKNumberElement<double>, libetonyek::IWORKPushCollector, 131376u, 0u>::endOfElement()
Unexecuted instantiation: IWORKPropertyMapElement.cpp:libetonyek::IWORKMutableArrayElement<libetonyek::IWORKShadow, libetonyek::(anonymous namespace)::CoreImageFilterInfoElement, libetonyek::IWORKDirectCollector, 131211u, 131212u>::endOfElement()
Unexecuted instantiation: IWORKTableInfoElement.cpp:libetonyek::IWORKMutableArrayElement<libetonyek::IWORKTableVector, libetonyek::(anonymous namespace)::TableVectorElement, libetonyek::IWORKPushCollector, 131479u, 0u>::endOfElement()
Unexecuted instantiation: IWORKTableInfoElement.cpp:libetonyek::IWORKMutableArrayElement<libetonyek::IWORKTableCell, libetonyek::(anonymous namespace)::TableCellElement, libetonyek::IWORKPushCollector, 131472u, 131473u>::endOfElement()
Unexecuted instantiation: libetonyek::IWORKMutableArrayElement<libetonyek::IWORKListLabelGeometry, libetonyek::IWORKListLabelGeometryElement, libetonyek::IWORKPushCollector, 131354u, 131355u>::endOfElement()
Unexecuted instantiation: libetonyek::IWORKMutableArrayElement<boost::variant<bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, libetonyek::IWORKTextLabel, std::__1::shared_ptr<libetonyek::IWORKMediaContent> >, libetonyek::IWORKListLabelTypeinfoElement, libetonyek::IWORKPushCollector, 131356u, 131357u>::endOfElement()
52
53
private:
54
  ArrayDict_t &m_arrayDict;
55
  std::deque<Type> &m_elements;
56
};
57
58
}
59
60
#endif // IWORKMUTABLEARRAYELEMENT_H_INCLUDED
61
62
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */