Files
haiku-beta6/docs/user/shared/_libshared.dox
T
PulkoMandy c66bb38463 Fix various Doxygen warnings in Haiku book.
- Return tags for methods that don't return anything
- ingroup without matching defgroup
- confusion between ref, a, and link tags (they are not the same)
- missed API changes (BObjectList templated owning, new url
  encode/decode API)
- duplicate defgroup definitions

Change-Id: I94a31b04a10a62e71659522c5ed77098728c0843
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9689
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-14 19:18:14 +00:00

31 lines
1.4 KiB
Plaintext

/*
* Copyright 2025 Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Adrien Destugues, [email protected]
*/
/*!
\defgroup libshared Experimental functions and classes
\brief Static library for experimental and work-in progress code.
The main Haiku libraries (libroot, libbe and others) are provided as shared libraries.
This means in most cases, the ABI and API of functions and classes defined therein cannot be
changed without breaking existing applications that use them.
This makes it difficult to expose work-in-progress code in these libraries, as any change of
interface would require all applications using the old interface to be recompiled.
libshared provides a solution for that. It is provided as a static library, which means
applications using it will embed a fixed version of the libsared code that they were compiled
against. This way, updates to the library do not affect already compiled binaries, and developers
can update to a new version of libshared (and make any needed changes) when they recompile their
code.
All functions and classes in libshared are additionally put in the BPrivate namespace. When an
API is deemed mature, its final version can be moved to a shared library, and at the same time,
moved out of the namespace. This makes sure applications that are still using a version from
libshared do not get interferenced by the newly introduced public version.
*/