diff options
Diffstat (limited to 'src/qdoc/catch_conversions')
4 files changed, 71 insertions, 0 deletions
diff --git a/src/qdoc/catch_conversions/CMakeLists.txt b/src/qdoc/catch_conversions/CMakeLists.txt new file mode 100644 index 000000000..48ddcc26f --- /dev/null +++ b/src/qdoc/catch_conversions/CMakeLists.txt @@ -0,0 +1,12 @@ +qt_internal_add_module(QDocCatchConversionsPrivate + INTERNAL_MODULE + HEADER_MODULE + EXTERNAL_HEADERS_DIR src + NO_GENERATE_CPP_EXPORTS +) + +qt_internal_extend_target(QDocCatchConversionsPrivate + PUBLIC_INCLUDE_DIRECTORIES + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src> + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/QtQDocCatchConversions> +) diff --git a/src/qdoc/catch_conversions/src/catch_conversions/qdoc_catch_conversions.h b/src/qdoc/catch_conversions/src/catch_conversions/qdoc_catch_conversions.h new file mode 100644 index 000000000..d1079561b --- /dev/null +++ b/src/qdoc/catch_conversions/src/catch_conversions/qdoc_catch_conversions.h @@ -0,0 +1,24 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#pragma once + +#include "qt_catch_conversions.h" + +#include <qdoc/boundaries/filesystem/directorypath.h> +#include <qdoc/boundaries/filesystem/filepath.h> +#include <qdoc/boundaries/filesystem/resolvedfile.h> + +#include <ostream> + +inline std::ostream& operator<<(std::ostream& os, const DirectoryPath& dirpath) { + return os << dirpath.value().toStdString(); +} + +inline std::ostream& operator<<(std::ostream& os, const FilePath& filepath) { + return os << filepath.value().toStdString(); +} + +inline std::ostream& operator<<(std::ostream& os, const ResolvedFile& resolved_file) { + return os << "ResolvedFile{ query: " << resolved_file.get_query().toStdString() << ", " << "filepath: " << resolved_file.get_path() << " }"; +} diff --git a/src/qdoc/catch_conversions/src/catch_conversions/qt_catch_conversions.h b/src/qdoc/catch_conversions/src/catch_conversions/qt_catch_conversions.h new file mode 100644 index 000000000..68abf5fb0 --- /dev/null +++ b/src/qdoc/catch_conversions/src/catch_conversions/qt_catch_conversions.h @@ -0,0 +1,19 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#pragma once + +#include "std_catch_conversions.h" + +#include <ostream> + +#include <QChar> +#include <QString> + +inline std::ostream& operator<<(std::ostream& os, const QChar& character) { + return os << QString{character}.toStdString(); +} + +inline std::ostream& operator<<(std::ostream& os, const QString& string) { + return os << string.toStdString(); +} diff --git a/src/qdoc/catch_conversions/src/catch_conversions/std_catch_conversions.h b/src/qdoc/catch_conversions/src/catch_conversions/std_catch_conversions.h new file mode 100644 index 000000000..be8fa65d7 --- /dev/null +++ b/src/qdoc/catch_conversions/src/catch_conversions/std_catch_conversions.h @@ -0,0 +1,16 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#pragma once + +#include <ostream> +#include <optional> + +template<typename T> +inline std::ostream& operator<<(std::ostream& os, const std::optional<T>& optional) { + os << "std::optional{\n\t"; + if (optional) os << optional.value(); + else os <<"nullopt"; + + return os << "\n};"; +} |