Skip to content

Documentation omnibus #304

Open
Open
@joaquintides

Description

@joaquintides

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:

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions