Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation omnibus #304

Open
joaquintides opened this issue Jan 27, 2025 · 0 comments
Open

Documentation omnibus #304

joaquintides opened this issue Jan 27, 2025 · 0 comments
Assignees

Comments

@joaquintides
Copy link
Member

The recent move to Antora for Unordered docs has left some minor glitches that we compile in this omnibus issue:

1. Reference sections have "Untitled ..." tab name. See for instance here:

Image

This is due to the fact that reference pages have no main header (note the first subsection begins with ==), which, in the context of Antora, results in the page having no title:

[#unordered_flat_map]
== Class Template unordered_flat_map

:idprefix: unordered_flat_map_

`boost::unordered_flat_map` — An open-addressing unordered associative container[...]

There are two possible approaches to fix this:

  • Somehow assign a title to the page that serves to compose the tab name while still not displaying on the page proper. I've experimented with attributes :notitle:, :showtitle!: etc., to no avail. See this conversation on Antora's support forum.
  • Move all level n sections to level n-1. This looks ugly, as the headers appear too big for my taste.

2. Mobile devices: font size too big in some parts of the reference. See for instance this as it appears on my iPhone 8:

This seems to happen when inserting a block of code inside a "Notes:" construct:

[horizontal]
Returns:;; The `bool` component of the return type is `true` if an insert took place. +
+
If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent key.
Throws:;; If an exception is thrown by an operation other than a call to `hasher` the function has no effect.
Notes:;; This function is similiar to xref:#unordered_flat_map_emplace[emplace], with the difference that no `value_type` is constructed
if there is an element with an equivalent key; otherwise, the construction is of the form: +
+
--
```c++
// first two overloads
value_type(std::piecewise_construct,
std::forward_as_tuple(std::forward<Key>(k)),
std::forward_as_tuple(std::forward<Args>(args)...))
// third overload
value_type(std::piecewise_construct,
std::forward_as_tuple(std::forward<K>(k)),
std::forward_as_tuple(std::forward<Args>(args)...))
```
unlike xref:#unordered_flat_map_emplace[emplace], which simply forwards all arguments to ``value_type``'s constructor.
Can invalidate iterators pointers and references, but only if the insert causes the load to be greater than the maximum load.
The `template<class K, class\... Args>` overload only participates in overload resolution if `Hash::is_transparent` and `Pred::is_transparent` are valid member typedefs and neither `iterator` nor `const_iterator` are implicitly convertible from `K`. The library assumes that `Hash` is callable with both `K` and `Key` and that `Pred` is transparent. This enables heterogeneous lookup which avoids the cost of instantiating an instance of the `Key` type.
--

3. Mobile devices: two clicks needed to go to a TOC section. Tested on my iPhone 8: go to the TOC and click on any entry (in the images below, "Hash Quality") --> the entry becomes underlined and a further click is needed to go through it:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants