Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
adapters.h
Go to the documentation of this file.
1
// Copyright 2024 The PDFium Authors
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#
ifndef
CORE_FXCRT_CONTAINERS_ADAPTERS_H_
6
#
define
CORE_FXCRT_CONTAINERS_ADAPTERS_H_
7
8
#
include
<
stddef
.
h
>
9
10
#
include
<
iterator
>
11
#
include
<
utility
>
12
13
namespace
pdfium
{
14
15
namespace
internal
{
16
17
// Internal adapter class for implementing Reversed()
18
template
<
typename
T>
19
class
ReversedAdapter
{
20
public
:
21
using
Iterator
=
decltype
(
std
::rbegin(
std
::declval<T&>()));
22
23
explicit
ReversedAdapter
(T& t) : t_(t) {}
24
ReversedAdapter
(
const
ReversedAdapter
& ra) : t_(ra.t_) {}
25
ReversedAdapter
&
operator
=(
const
ReversedAdapter
&) =
delete
;
26
27
Iterator
begin
()
const
{
return
std
::rbegin(t_); }
28
Iterator
end
()
const
{
return
std
::rend(t_); }
29
30
private
:
31
T& t_;
32
};
33
34
}
// namespace internal
35
36
// Reversed returns a container adapter usable in a range-based "for" statement
37
// for iterating a reversible container in reverse order.
38
//
39
// Example:
40
//
41
// std::vector<int> v = ...;
42
// for (int i : pdfium::Reversed(v)) {
43
// // iterates through v from back to front
44
// }
45
template
<
typename
T>
46
internal
::
ReversedAdapter
<T>
Reversed
(T& t) {
47
return
internal
::
ReversedAdapter
<T>(t);
48
}
49
50
}
// namespace pdfium
51
52
#
endif
// CORE_FXCRT_CONTAINERS_ADAPTERS_H_
DCHECK
#define DCHECK
Definition
check.h:33
CPDF_Array::const_iterator
std::vector< RetainPtr< CPDF_Object > >::const_iterator const_iterator
Definition
cpdf_array.h:29
CPDF_Dictionary::DictMap
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
Definition
cpdf_dictionary.h:31
CPDF_Document
Definition
cpdf_document.h:29
CPDF_Object
Definition
cpdf_object.h:50
CPDF_PageContentManager
Definition
cpdf_pagecontentmanager.h:22
CPDF_PageContentManager::UpdateStream
void UpdateStream(size_t stream_index, fxcrt::ostringstream *buf)
Definition
cpdf_pagecontentmanager.cpp:130
CPDF_PageContentManager::AddStream
size_t AddStream(fxcrt::ostringstream *buf)
Definition
cpdf_pagecontentmanager.cpp:93
CPDF_PageContentManager::~CPDF_PageContentManager
~CPDF_PageContentManager()
Definition
cpdf_pagecontentmanager.cpp:69
CPDF_PageContentManager::CPDF_PageContentManager
CPDF_PageContentManager(CPDF_PageObjectHolder *page_obj_holder, CPDF_Document *document)
Definition
cpdf_pagecontentmanager.cpp:29
CPDF_PageObjectHolder
Definition
cpdf_pageobjectholder.h:51
fxcrt::RetainPtr
Definition
retain_ptr.h:28
pdfium::CFDETextOutLargeBitmapTest
Definition
cfde_textout_unittest.cpp:117
pdfium::internal::ReversedAdapter
Definition
adapters.h:19
pdfium::internal::ReversedAdapter::begin
Iterator begin() const
Definition
adapters.h:27
pdfium::internal::ReversedAdapter::Iterator
decltype(std::rbegin(std::declval< T & >())) Iterator
Definition
adapters.h:21
pdfium::internal::ReversedAdapter::operator=
ReversedAdapter & operator=(const ReversedAdapter &)=delete
pdfium::internal::ReversedAdapter::ReversedAdapter
ReversedAdapter(const ReversedAdapter &ra)
Definition
adapters.h:24
pdfium::internal::ReversedAdapter::end
Iterator end() const
Definition
adapters.h:28
pdfium::internal::ReversedAdapter::ReversedAdapter
ReversedAdapter(T &t)
Definition
adapters.h:23
pdfium::internal
Definition
span.h:34
pdfium::Reversed
internal::ReversedAdapter< T > Reversed(T &t)
Definition
adapters.h:46
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
CHECK
#define CHECK(cvref)
Definition
q23utility.cpp:14
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fxcrt
containers
adapters.h
Generated on
for Qt by
1.14.0