/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/ #pragma once #include <com/sun/star/uno/Reference.h> #include <sal/config.h> #include <sal/types.h> #include <tools/long.hxx> #include <limits> #include <string> #include <type_traits>
//valid range: [0,360) template <typename T> [[nodiscard]] inline T NormAngle360(T angle)
{ while (angle < 0)
angle += 360; while (angle >= 360)
angle -= 360; return angle;
}
// get hash from interface // TODO: UNIT TEST
[[nodiscard]] inline
std::string GetInterfaceHash(const ::css::uno::Reference<::css::uno::XInterface>& xIf)
{ if (xIf.is())
{ auto ptr = reinterpret_cast<sal_uIntPtr>(xIf.get()); return std::to_string(ptr);
} return {};
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.