Coverage Report

Created: 2026-08-14 10:22

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/include/o3tl/temporary.hxx
Line
Count
Source
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
2
/*
3
 * This file is part of the LibreOffice 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 INCLUDED_O3TL_TEMPORARY_HXX
11
#define INCLUDED_O3TL_TEMPORARY_HXX
12
13
#include <sal/config.h>
14
15
namespace o3tl
16
{
17
// Cast an rvalue to an lvalue.  Can be useful if a function parameter is a pointer/reference to T,
18
// and some call site doesn't need the value beyond the call itself (e.g., in a call like
19
// std::modf(x, &o3tl::temporary(double())) to obtain the fractional part of x, ignoring the
20
// integral part).
21
227M
template <typename T> constexpr T& temporary(T&& x) { return static_cast<T&>(x); }
int& o3tl::temporary<int>(int&&)
Line
Count
Source
21
227M
template <typename T> constexpr T& temporary(T&& x) { return static_cast<T&>(x); }
bool& o3tl::temporary<bool>(bool&&)
Line
Count
Source
21
8
template <typename T> constexpr T& temporary(T&& x) { return static_cast<T&>(x); }
Unexecuted instantiation: SvMemoryStream& o3tl::temporary<SvMemoryStream>(SvMemoryStream&&)
Unexecuted instantiation: double& o3tl::temporary<double>(double&&)
Unexecuted instantiation: INetBookmark& o3tl::temporary<INetBookmark>(INetBookmark&&)
Unexecuted instantiation: unsigned short& o3tl::temporary<unsigned short>(unsigned short&&)
Unexecuted instantiation: std::__1::unique_lock<std::__1::mutex>& o3tl::temporary<std::__1::unique_lock<std::__1::mutex> >(std::__1::unique_lock<std::__1::mutex>&&)
Unexecuted instantiation: tools::Rectangle& o3tl::temporary<tools::Rectangle>(tools::Rectangle&&)
Unexecuted instantiation: SbxDataType& o3tl::temporary<SbxDataType>(SbxDataType&&)
Unexecuted instantiation: char16_t& o3tl::temporary<char16_t>(char16_t&&)
Unexecuted instantiation: unsigned int& o3tl::temporary<unsigned int>(unsigned int&&)
Unexecuted instantiation: rtl::OUString& o3tl::temporary<rtl::OUString>(rtl::OUString&&)
Unexecuted instantiation: SvNumFormatType& o3tl::temporary<SvNumFormatType>(SvNumFormatType&&)
Unexecuted instantiation: Color const*& o3tl::temporary<Color const*>(Color const*&&)
Unexecuted instantiation: SfxRequest& o3tl::temporary<SfxRequest>(SfxRequest&&)
SwResizeLimitReason& o3tl::temporary<SwResizeLimitReason>(SwResizeLimitReason&&)
Line
Count
Source
21
246k
template <typename T> constexpr T& temporary(T&& x) { return static_cast<T&>(x); }
long& o3tl::temporary<long>(long&&)
Line
Count
Source
21
21.3k
template <typename T> constexpr T& temporary(T&& x) { return static_cast<T&>(x); }
Unexecuted instantiation: SfxPoolItemHolder& o3tl::temporary<SfxPoolItemHolder>(SfxPoolItemHolder&&)
22
template <typename T> constexpr T& temporary(T&) = delete;
23
}
24
25
#endif /* INCLUDED_O3TL_TEMPORARY_HXX */
26
27
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */