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
This commit is contained in:
Fischlurch 2025-09-08 01:54:16 +02:00
parent 0c3cd9027c
commit 8dc6580da1
23 changed files with 32 additions and 32 deletions

View file

@ -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

View file

@ -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)

View file

@ -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 <b>includes and manipulates</b> the standard header `<functional>`.
** Please ensure it is always included _before_ the latter. Failing to do so will result

View file

@ -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"
**
**
*/

View file

@ -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<typename FUN, typename SEL =void>
struct _Fun

View file

@ -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<class X>
constexpr size_t

View file

@ -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 <class Cond, class T = void>
using enable_if = enable_if_c<Cond::value, T>::type;

View file

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

View file

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

View file

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

View file

@ -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)

View file

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

View file

@ -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<typename I>
inline constexpr int

View file

@ -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

View file

@ -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)

View file

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

View file

@ -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

View file

@ -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

View file

@ -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)

View file

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

View file

@ -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)

View file

@ -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

View file

@ -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
{