/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: */ |