From 8dc6580da1955281921d28f4f3a4c2acab93bd53 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Mon, 8 Sep 2025 01:54:16 +0200 Subject: [PATCH] clean-up: update links embedded into API-doc (Doxygen) Notably some links on the **Gnome documentation** pages are problematic, since there was seemingly an infrastructure change -- which unfortunately leads to loosing several deep-links into the GTK-3 related documentation and tutorials. While the differences to GTK-4 are often rather minimal, I would still prefer to link to those documentation pages used as reference at implementation time of our related library and GUI functionality. In several cases I have thus looked up the old URLs at Archive.org --- src/common/option.hpp | 2 +- src/lib/format-obj.cpp | 2 +- src/lib/hash-standard.hpp | 2 +- src/lib/ios-savepoint.hpp | 2 +- src/lib/meta/function.hpp | 4 ++-- src/lib/meta/typeseq-util.hpp | 2 +- src/lib/meta/util.hpp | 2 +- src/lib/nocopy.hpp | 2 +- src/lib/random.hpp | 2 +- src/lib/thread.hpp | 2 +- src/lib/time/timevalue.hpp | 2 +- src/lib/uninitialised-storage.hpp | 2 +- src/lib/util-quant.hpp | 2 +- src/lib/verb-visitor.hpp | 4 ++-- src/stage/ctrl/state-map-grouping-storage.hpp | 4 ++-- src/stage/ctrl/ui-dispatcher.hpp | 4 ++-- src/stage/dialog/test-control.hpp | 4 ++-- src/stage/model/tangible.hpp | 4 ++-- src/stage/model/w-link.hpp | 2 +- src/stage/ui-bus.hpp | 2 +- src/stage/widget/error-log-display.hpp | 8 ++++---- src/steam/control/command-def.hpp | 2 +- tests/library/util-identity-test.cpp | 2 +- 23 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/common/option.hpp b/src/common/option.hpp index 1f4a21fd8..89bbf59bc 100644 --- a/src/common/option.hpp +++ b/src/common/option.hpp @@ -25,7 +25,7 @@ ** various _alternative modes,_ like starting "headless" (without UI), script ** driven or as node in a renderfarm network. ** - ** [Boost program options library] : http://www.boost.org/doc/libs/1_55_0/doc/html/program_options.html + ** [Boost program options library] : https://www.boost.org/doc/libs/1_83_0/doc/html/program_options.html ** ** @see basic-setup.hpp ** @see lumiera::AppState diff --git a/src/lib/format-obj.cpp b/src/lib/format-obj.cpp index 3b04b2faf..57dc1191c 100644 --- a/src/lib/format-obj.cpp +++ b/src/lib/format-obj.cpp @@ -184,7 +184,7 @@ apologies for that." * the cache, so it doesn't make much of a difference if we scan * the same comparatively short string multiple times * - * [stdRegEx-threadsafe]: http://stackoverflow.com/questions/15752910/is-stdregex-thread-safe + * [stdRegEx-threadsafe]: https://stackoverflow.com/questions/15752910/is-stdregex-thread-safe */ string humanReadableTypeID (Literal rawType) diff --git a/src/lib/hash-standard.hpp b/src/lib/hash-standard.hpp index 5afdecdc7..b603c8e6f 100644 --- a/src/lib/hash-standard.hpp +++ b/src/lib/hash-standard.hpp @@ -38,7 +38,7 @@ ** push it aside and plant our own definition instead. ** ** @note this trick was proposed by user "enobayram" on Stackoverflow at Oct 5, 2012 - ** http://stackoverflow.com/questions/12753997/check-if-type-is-hashable + ** https://stackoverflow.com/questions/12753997/check-if-type-is-hashable ** ** @warning this header includes and manipulates the standard header ``. ** Please ensure it is always included _before_ the latter. Failing to do so will result diff --git a/src/lib/ios-savepoint.hpp b/src/lib/ios-savepoint.hpp index 3ae0ec796..49bcbc012 100644 --- a/src/lib/ios-savepoint.hpp +++ b/src/lib/ios-savepoint.hpp @@ -25,7 +25,7 @@ ** @see IosSavepoint_test ** ** [qbert220]: https://stackoverflow.com/users/617617/qbert220 - ** [stackoverflow]: https://stackoverflow.com/a/18822888 "Restore state of `std::cout` after manipulating it" + ** [stackoverflow]: https://stackoverflow.com/questions/2273330/restore-the-state-of-stdcout-after-manipulating-it/18822888#18822888 "Restore state of `std::cout` after manipulating it" ** ** */ diff --git a/src/lib/meta/function.hpp b/src/lib/meta/function.hpp index e5ffd4a5a..0717d16e4 100644 --- a/src/lib/meta/function.hpp +++ b/src/lib/meta/function.hpp @@ -135,8 +135,8 @@ namespace meta{ * unless you bind it beforehand into a std::function with correct signature. * @see FunctionSignature_test * - * [kennytm]: http://stackoverflow.com/users/224671/kennytm - * [stackoverflow]: http://stackoverflow.com/questions/7943525/is-it-possible-to-figure-out-the-parameter-type-and-return-type-of-a-lambda/7943765#7943765 "figure out parameter and return type of a Lambda" + * [kennytm]: https://stackoverflow.com/users/224671/kennytm + * [stackoverflow]: https://stackoverflow.com/questions/7943525/is-it-possible-to-figure-out-the-parameter-type-and-return-type-of-a-lambda/7943765#7943765 "figure out parameter and return type of a Lambda" */ template struct _Fun diff --git a/src/lib/meta/typeseq-util.hpp b/src/lib/meta/typeseq-util.hpp index 67f6e5909..33756c0ac 100644 --- a/src/lib/meta/typeseq-util.hpp +++ b/src/lib/meta/typeseq-util.hpp @@ -48,7 +48,7 @@ namespace meta { /** * Find the index of the first incidence of a type in a type-sequence. * @note static assertion if the type is not in the type sequence - * @see https://stackoverflow.com/a/60868425/444796 + * @see https://stackoverflow.com/questions/18063451/get-index-of-a-tuple-elements-type/60868425#60868425 */ template constexpr size_t diff --git a/src/lib/meta/util.hpp b/src/lib/meta/util.hpp index fce8b979c..12a455e90 100644 --- a/src/lib/meta/util.hpp +++ b/src/lib/meta/util.hpp @@ -81,7 +81,7 @@ namespace meta { * variant here, which is slightly stripped down and a tiny bit * more concise than the boost variant. This way, we can avoid * a lot of boost inclusions, which always bear some weight. - * @see [std::enable_if](http://en.cppreference.com/w/cpp/types/enable_if) + * @see [std::enable_if](https://en.cppreference.com/w/cpp/types/enable_if.html) */ template using enable_if = enable_if_c::type; diff --git a/src/lib/nocopy.hpp b/src/lib/nocopy.hpp index ca9691efc..0b8332a82 100644 --- a/src/lib/nocopy.hpp +++ b/src/lib/nocopy.hpp @@ -20,7 +20,7 @@ ** with mutable state and confusion regarding equality. ** @remark inspired by [Boost-Noncopyable] ** - ** [Boost-Noncopyable]: http://www.boost.org/doc/libs/1_55_0/libs/utility/utility.htm#Class_noncopyable + ** [Boost-Noncopyable]: https://www.boost.org/doc/libs/1_55_0/libs/utility/utility.htm#Class_noncopyable */ diff --git a/src/lib/random.hpp b/src/lib/random.hpp index 44ce7abe9..fb2c800b3 100644 --- a/src/lib/random.hpp +++ b/src/lib/random.hpp @@ -19,7 +19,7 @@ ** For simplified usage, two default instances are exposed as global variable ** - lib::defaultGen uses fixed seeding (planned: make this configurable) ** - lib::entropyGen always uses true randomness as seed value. - ** [C++ random number framework]: https://en.cppreference.com/w/cpp/numeric/random + ** [C++ random number framework]: https://en.cppreference.com/w/cpp/numeric/random.html ** @see Random_test */ diff --git a/src/lib/thread.hpp b/src/lib/thread.hpp index 1e57b01f1..abfbdfc7f 100644 --- a/src/lib/thread.hpp +++ b/src/lib/thread.hpp @@ -108,7 +108,7 @@ ** C++ standard library. Design and semantics were retained, while implemented ** using modern features, notably the new _Atomics_ synchronisation framework. ** - ** [syncs-with definition] : https://en.cppreference.com/w/cpp/atomic/memory_order#Synchronizes_with + ** [syncs-with definition] : https://en.cppreference.com/w/cpp/atomic/memory_order.html#Synchronizes_with */ diff --git a/src/lib/time/timevalue.hpp b/src/lib/time/timevalue.hpp index fbb85baa3..183cd58ba 100644 --- a/src/lib/time/timevalue.hpp +++ b/src/lib/time/timevalue.hpp @@ -735,7 +735,7 @@ namespace time { /** derive a hash from the µ-tick value * @return rotation of the raw value to produce a suitable spacing for consecutive time * @remark picked up by Boost-hash, or std. hashtables with the help of `hash-standard.h` - * @see https://stackoverflow.com/a/31488147 + * @see https://stackoverflow.com/questions/31387778/near-constant-time-rotate-that-does-not-violate-the-standards/31488147#31488147 */ inline HashVal hash_value (TimeValue const& time) diff --git a/src/lib/uninitialised-storage.hpp b/src/lib/uninitialised-storage.hpp index 29ecf9b88..6b3ab6960 100644 --- a/src/lib/uninitialised-storage.hpp +++ b/src/lib/uninitialised-storage.hpp @@ -52,7 +52,7 @@ ** - an implicit conversion path to the corresponding array type is provided ** - subscript operators enable direct access to the raw storage ** - helper functions allow for placement new and delete. - ** [deprecated again]: https://stackoverflow.com/a/71828512 + ** [deprecated again]: https://stackoverflow.com/questions/71828288/why-is-stdaligned-storage-to-be-deprecated-in-c23-and-what-to-use-instead/71828512#71828512 ** @see extent-family.hpp ** @see vault::gear::TestChainLoad::Rule where this setup matters */ diff --git a/src/lib/util-quant.hpp b/src/lib/util-quant.hpp index d7612c596..a9f67f9eb 100644 --- a/src/lib/util-quant.hpp +++ b/src/lib/util-quant.hpp @@ -171,7 +171,7 @@ namespace util { * @see ZoomWindow_test * * [ToddLehman]: https://stackoverflow.com/users/267551/todd-lehman - * [stackoverflow]: https://stackoverflow.com/a/24748637 "How to do an integer log2()" + * [stackoverflow]: https://stackoverflow.com/questions/994593/how-to-do-an-integer-log2-in-c/24748637#24748637 "How to do an integer log2()" */ template inline constexpr int diff --git a/src/lib/verb-visitor.hpp b/src/lib/verb-visitor.hpp index 1efe6950f..c8265ce91 100644 --- a/src/lib/verb-visitor.hpp +++ b/src/lib/verb-visitor.hpp @@ -64,8 +64,8 @@ ** special twist that we don't use a pre-bound function, but rather need to combine the ** actual invocation target at the moment of the invocation. ** - ** [member pointer]: https://en.cppreference.com/w/cpp/language/pointer - ** [std::apply]: https://en.cppreference.com/w/cpp/utility/apply + ** [member pointer]: https://en.cppreference.com/w/cpp/language/pointer.html + ** [std::apply]: https://en.cppreference.com/w/cpp/utility/apply.html ** ** @see [drawing on the track canvas](\ref body-canvas-widget.cpp) ** @see VerbVisitorDispatch_test diff --git a/src/stage/ctrl/state-map-grouping-storage.hpp b/src/stage/ctrl/state-map-grouping-storage.hpp index 514b0285b..b939c52d7 100644 --- a/src/stage/ctrl/state-map-grouping-storage.hpp +++ b/src/stage/ctrl/state-map-grouping-storage.hpp @@ -183,8 +183,8 @@ namespace ctrl { * comparator has to define a suitable `operator()` and in addition a marker type * `is_transparent`. See [transparent-cmp] and the [reference][cind-cpp14] for explanation. * //////////////////////////////////TICKET #991 - * [find-cpp14]: http://en.cppreference.com/w/cpp/container/set/find - * [transparent-cmp]: http://stackoverflow.com/questions/20317413/what-are-transparent-comparators + * [find-cpp14]: https://en.cppreference.com/w/cpp/container/set/find + * [transparent-cmp]: https://stackoverflow.com/questions/20317413/what-are-transparent-comparators */ static GenNode const& getState (Record const& entry, string propertyKey) diff --git a/src/stage/ctrl/ui-dispatcher.hpp b/src/stage/ctrl/ui-dispatcher.hpp index 9ab580651..e6b5d5e3f 100644 --- a/src/stage/ctrl/ui-dispatcher.hpp +++ b/src/stage/ctrl/ui-dispatcher.hpp @@ -56,8 +56,8 @@ ** given receiver thread (here the UI event loop thread) will _share a single pipe for signalling._ ** Under heavy load this queue might fill up and block the sender on dispatch. ** - ** [Glib-Dispatcher]: https://developer.gnome.org/glibmm/2.42/classGlib_1_1Dispatcher.html - ** [GTKmm-tutorial]: https://developer.gnome.org/gtkmm-tutorial/3.12/sec-using-glib-dispatcher.html.en + ** [Glib-Dispatcher]: https://web.archive.org/web/20210306110019/https://developer.gnome.org/glibmm/2.42/classGlib_1_1Dispatcher.html + ** [GTKmm-tutorial]: https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/sec-using-glib-dispatcher.html ** @see NotificationService ** @see CallQueue_test */ diff --git a/src/stage/dialog/test-control.hpp b/src/stage/dialog/test-control.hpp index d7e27bc67..45ccf97a4 100644 --- a/src/stage/dialog/test-control.hpp +++ b/src/stage/dialog/test-control.hpp @@ -113,7 +113,7 @@ namespace dialog { * struct, which is actually heap allocated and managed automatically. This way, each child page * gets its own namespace, and wiring to other components is made explicit by passing named ctor * arguments -- while the overall structure of building and wiring of widgets stays close to the - * habits of [programming with GTKmm](https://developer.gnome.org/gtkmm-tutorial/stable/). + * habits of [programming with GTKmm](https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/). * - define the pages as custom widgets, typically just as locally known struct types * - invoke #buildPage passing the type and tab label for each page * - define the wiring of the components within a page in the page's ctor @@ -121,7 +121,7 @@ namespace dialog { * @note the page widgets are actually heap allocated and managed automatically * @see stage::dialog::TestControl as a usage example * - * [Notebook]: https://developer.gnome.org/gtkmm-tutorial/stable/sec-multi-item-containers.html.en#sec-notebook + * [Notebook]: https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/sec-multi-item-containers.html#sec-notebook */ class Notebook : public Gtk::Notebook diff --git a/src/stage/model/tangible.hpp b/src/stage/model/tangible.hpp index 41fb96beb..039362078 100644 --- a/src/stage/model/tangible.hpp +++ b/src/stage/model/tangible.hpp @@ -108,8 +108,8 @@ ** These slots are defined to be `sigc::trackable` for automated disconnection ** see [sigc-track] for an explanation. ** - ** [MVC-Pattern]: http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller - ** [sigc-track]: http://issues.lumiera.org/ticket/940#comment:3 "Ticket #940" + ** [MVC-Pattern]: https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller + ** [sigc-track]: https://issues.lumiera.org/ticket/940#comment:3 "Ticket #940" ** ** @see \ref AbstractTangible_test ** @see \ref BusTerm_test diff --git a/src/stage/model/w-link.hpp b/src/stage/model/w-link.hpp index bf793d351..210b0a27b 100644 --- a/src/stage/model/w-link.hpp +++ b/src/stage/model/w-link.hpp @@ -37,7 +37,7 @@ ** a dead functor. We make use of the same mechanism here to ** install a callback to invalidate this smart-handle. ** - ** [trackable]: https://developer.gnome.org/libsigc++/stable/structsigc_1_1trackable.html#details "`sigc::trackable`" + ** [trackable]: https://libsigcplusplus.github.io/libsigcplusplus/reference/html/structsigc_1_1trackable.html#details "`sigc::trackable`" ** ** @see \ref WLink_test ** @see \ref NotificationHub (usage example) diff --git a/src/stage/ui-bus.hpp b/src/stage/ui-bus.hpp index 63e35401f..88388345c 100644 --- a/src/stage/ui-bus.hpp +++ b/src/stage/ui-bus.hpp @@ -83,7 +83,7 @@ ** @see ctrl/nexus.hpp ** @see ctrl/core-service.hpp ** - ** [MVC-Pattern]: http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller + ** [MVC-Pattern]: https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller */ diff --git a/src/stage/widget/error-log-display.hpp b/src/stage/widget/error-log-display.hpp index 5a8f3b3ae..b2e6c3c69 100644 --- a/src/stage/widget/error-log-display.hpp +++ b/src/stage/widget/error-log-display.hpp @@ -190,7 +190,7 @@ namespace widget { * but also stores a [Mark] to bookmark the presence of this * error entry. And finally expand the display if collapsed. * - * [Mark]: https://developer.gnome.org/gtkmm-tutorial/stable/sec-textview-buffer.html.en#textview-marks + * [Mark]: https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/chapter-textview.html#textview-marks */ void addError (string text) @@ -303,9 +303,9 @@ namespace widget { * The handling of marks and tags is described in the [GTKmm tutorial]. * @warning Each entry creates a new pair of marks. Not sure about the impact on performance... * - * [GTKmm tutorial]: https://developer.gnome.org/gtkmm-tutorial/stable/sec-textview-buffer.html.en#textview-marks - * [insert-mark]: https://developer.gnome.org/gtkmm/3.22/classGtk_1_1TextMark.html#details - * [API doc]: https://developer.gnome.org/gtkmm/3.22/classGtk_1_1TextView.html#a8412941c4da9a71a381052d6049164e4 + * [GTKmm tutorial]: https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/chapter-textview.html#textview-marks + * [insert-mark]: https://web.archive.org/web/20210306120221/https://developer.gnome.org/gtkmm/3.22/classGtk_1_1TextMark.html#details + * [API doc]: https://web.archive.org/web/20210306120223/https://developer.gnome.org/gtkmm/3.22/classGtk_1_1TextView.html#a8412941c4da9a71a381052d6049164e4 */ Entry addEntry (string const& text, Literal markupTagName =nullptr) diff --git a/src/steam/control/command-def.hpp b/src/steam/control/command-def.hpp index 0260af1bd..1c7dd59f1 100644 --- a/src/steam/control/command-def.hpp +++ b/src/steam/control/command-def.hpp @@ -247,7 +247,7 @@ namespace control { /** * Helper class used solely for _defining_ a Command-Object. - * This technique is known as "fluent API", see http://en.wikipedia.org/wiki/Fluent_interface + * This technique is known as "fluent API", see https://en.wikipedia.org/wiki/Fluent_interface * The basic idea is for the user to create a disposable instance of this definition helper, * only for calling a chain of definition functions, which internally build the actual Command object. * Finally, the created Command object will be stored into a registry or handed over to the diff --git a/tests/library/util-identity-test.cpp b/tests/library/util-identity-test.cpp index 455fa6d1b..7caca2033 100644 --- a/tests/library/util-identity-test.cpp +++ b/tests/library/util-identity-test.cpp @@ -48,7 +48,7 @@ namespace test { * pointers, disregarding any type information, thereby * _»unpacking«_ the address information contained in a * pointer is (i.e. the address of the pointee is used) - * [object]: https://en.cppreference.com/w/cpp/language/type + * [object]: https://en.cppreference.com/w/cpp/language/type.html */ class UtilIdentity_test : public Test {