Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
IR Namespace Reference

Classes

class  Builder
 Assembles IR Documents from pre-extracted metadata. More...
struct  QmlTypeData
struct  CollectionData
struct  CppReferenceData
struct  NavigationData
struct  CatalogEntry
 A single entry in a catalog page such as the classes index, the examples index, or a group's members table. More...
struct  CatalogEntryGroup
 \variable IR::CatalogEntry::name Display name of the entry, as returned by node->fullName(relative) at extraction time. More...
struct  InlineContent
 Represents inline content within a documentation block. More...
struct  ContentBlock
 Represents a structural block element in documentation. More...
class  ContentBuilder
 Converts Atom chains to QList<IR::ContentBlock> trees. More...
struct  QmlTypeInfo
struct  CollectionInfo
struct  CppReferenceInfo
struct  NavigationInfo
struct  Document
 Intermediate representation for a documentation topic. More...
 Intermediate representation for a resolved hyperlink. More...
struct  ParameterIR
 Intermediate representation of a function parameter. More...
struct  EnumValueIR
 Intermediate representation of a single enum value. More...
struct  MemberIR
 Intermediate representation of a single documentable member. More...
struct  InheritedMembersIR
 Summary of members inherited from a single base class. More...
struct  SectionIR
 Intermediate representation of a member summary section. More...
struct  AllMemberEntry
 A single entry in an all-members listing page. More...
struct  MemberGroup
 Members grouped by originating QML type in an all-members listing. More...
struct  AllMembersIR
 Intermediate representation of the all-members listing page. More...
struct  SignatureSpan
 Represents a single span within a structured signature. More...
struct  AtomContext

Typedefs

using DiagnosticHandler = std::function<void(QtMsgType, const QString &)>

Enumerations

enum class  InlineType : unsigned char {
  Text , Code , Link , Bold ,
  Italic , Teletype , Underline , Strikethrough ,
  Subscript , Superscript , Parameter , LineBreak ,
  Image , Keyword , Target
}
enum class  LinkOrigin : unsigned char { Auto , Explicit }
enum class  LinkState : unsigned char {
  Unresolved , Resolved , External , Broken ,
  Suppressed , Ignored
}
enum class  BlockType : unsigned char {
  Paragraph , CodeBlock , List , ListItem ,
  Section , SectionHeading , Note , Warning ,
  Important , Details , Brief , Div ,
  Quotation , Legalese , HorizontalRule , Table ,
  TableRow , TableHeaderRow , TableCell , Raw ,
  DefinitionList , DefinitionTerm , DefinitionDescription , ListPlaceholder ,
  Catalog
}
enum class  BriefHandling { Skip , Include }
enum class  ListPlaceholderVariant : unsigned char { AnnotatedGroup , AnnotatedExamples , AnnotatedClasses , CompactClasses }
enum class  SpanRole : unsigned char {
  Text , Type , Name , Parameter ,
  Operator , Extra , TemplateDecl , Link ,
  ExternalRef
}

Functions

static void gatherBodyTocEntries (const QList< ContentBlock > &blocks, QList< NavigationInfo::TocEntry > &out)
static InlineContent makeTextInline (const QString &text)
static InlineContent makeTopicLink (const QString &topicName)
static InlineContent makeResolvedLink (const QString &name, const QString &href)
static void appendExceptionList (QList< InlineContent > &inlines, const QString &prefix, const QString &topicName, const QList< CppReferenceData::ThreadSafetyExceptionEntry > &exceptions)
static QList< ContentBlockbuildThreadSafetyAdmonition (const CppReferenceData::ThreadSafetyInfo &ts, const QString &typeWord)
static QString inlineTypeId (InlineType type)
static QString blockTypeId (BlockType type)
static InlineType formattingToInlineType (const QString &formatting)
static QJsonArray memberEntriesToJson (const QList< CollectionInfo::MemberEntry > &entries)
static QString crumbStateString (NavigationInfo::CrumbState state)
QJsonObject classificationObject (const QString &id, const QString &label)
std::optional< QJsonObjectnodeTypeToJson (NodeType t)
std::optional< QJsonObjectgenusToJson (Genus g)
QJsonObject statusToJson (Status s)
QJsonObject accessToJson (Access a)
QString toString (ListPlaceholderVariant variant)
std::optional< ListPlaceholderVariantparseListPlaceholderVariant (QStringView variant)
static QString spanRoleId (SpanRole role)

Typedef Documentation

◆ DiagnosticHandler

using IR::DiagnosticHandler = std::function<void(QtMsgType, const QString &)>

Definition at line 21 of file contentbuilder.h.

Enumeration Type Documentation

◆ BlockType

enum class IR::BlockType : unsigned char
strong
Enumerator
Paragraph 
CodeBlock 
List 
ListItem 
Section 
SectionHeading 
Note 
Warning 
Important 
Details 
Brief 
Div 
Quotation 
Legalese 
HorizontalRule 
Table 
TableRow 
TableHeaderRow 
TableCell 
Raw 
DefinitionList 
DefinitionTerm 
DefinitionDescription 
ListPlaceholder 
Catalog 

Definition at line 68 of file contentblock.h.

◆ BriefHandling

enum class IR::BriefHandling
strong
Enumerator
Skip 
Include 

Definition at line 37 of file contentbuilder.h.

◆ InlineType

enum class IR::InlineType : unsigned char
strong
Enumerator
Text 
Code 
Link 
Bold 
Italic 
Teletype 
Underline 
Strikethrough 
Subscript 
Superscript 
Parameter 
LineBreak 
Image 
Keyword 
Target 

Definition at line 17 of file contentblock.h.

◆ LinkOrigin

enum class IR::LinkOrigin : unsigned char
strong
Enumerator
Auto 
Explicit 

Definition at line 35 of file contentblock.h.

◆ LinkState

enum class IR::LinkState : unsigned char
strong
Enumerator
Unresolved 
Resolved 
External 
Broken 
Suppressed 
Ignored 

Definition at line 40 of file contentblock.h.

◆ ListPlaceholderVariant

enum class IR::ListPlaceholderVariant : unsigned char
strong
Enumerator
AnnotatedGroup 
AnnotatedExamples 
AnnotatedClasses 
CompactClasses 

Definition at line 16 of file listplaceholder.h.

◆ SpanRole

enum class IR::SpanRole : unsigned char
strong
Enumerator
Text 
Type 
Name 
Parameter 
Operator 
Extra 
TemplateDecl 
Link 
ExternalRef 

Definition at line 15 of file signaturespan.h.

Function Documentation

◆ accessToJson()

QJsonObject IR::accessToJson ( Access a)
inline

Definition at line 130 of file classificationjson.h.

◆ appendExceptionList()

void IR::appendExceptionList ( QList< InlineContent > & inlines,
const QString & prefix,
const QString & topicName,
const QList< CppReferenceData::ThreadSafetyExceptionEntry > & exceptions )
static

Definition at line 63 of file builder.cpp.

◆ blockTypeId()

QString IR::blockTypeId ( BlockType type)
static

Definition at line 160 of file contentblock.cpp.

◆ buildThreadSafetyAdmonition()

QList< ContentBlock > IR::buildThreadSafetyAdmonition ( const CppReferenceData::ThreadSafetyInfo & ts,
const QString & typeWord )
static

Definition at line 86 of file builder.cpp.

References Paragraph, and IR::ContentBlock::type.

◆ classificationObject()

QJsonObject IR::classificationObject ( const QString & id,
const QString & label )
inline

Definition at line 25 of file classificationjson.h.

◆ crumbStateString()

QString IR::crumbStateString ( NavigationInfo::CrumbState state)
static

Definition at line 266 of file document.cpp.

◆ formattingToInlineType()

InlineType IR::formattingToInlineType ( const QString & formatting)
static

Definition at line 149 of file contentbuilder.cpp.

References Bold, Italic, Parameter, Subscript, Superscript, Teletype, Text, and Underline.

◆ gatherBodyTocEntries()

void IR::gatherBodyTocEntries ( const QList< ContentBlock > & blocks,
QList< NavigationInfo::TocEntry > & out )
static

Definition at line 16 of file builder.cpp.

◆ genusToJson()

std::optional< QJsonObject > IR::genusToJson ( Genus g)
inline

Definition at line 92 of file classificationjson.h.

◆ inlineTypeId()

QString IR::inlineTypeId ( InlineType type)
static

Definition at line 137 of file contentblock.cpp.

◆ makeResolvedLink()

InlineContent IR::makeResolvedLink ( const QString & name,
const QString & href )
static

Definition at line 53 of file builder.cpp.

References Explicit, Link, Resolved, and IR::InlineContent::type.

◆ makeTextInline()

InlineContent IR::makeTextInline ( const QString & text)
static

Definition at line 35 of file builder.cpp.

References Text, and IR::InlineContent::type.

◆ makeTopicLink()

InlineContent IR::makeTopicLink ( const QString & topicName)
static

Definition at line 43 of file builder.cpp.

References Explicit, Link, IR::InlineContent::type, and Unresolved.

◆ memberEntriesToJson()

QJsonArray IR::memberEntriesToJson ( const QList< CollectionInfo::MemberEntry > & entries)
static

Definition at line 76 of file document.cpp.

◆ nodeTypeToJson()

std::optional< QJsonObject > IR::nodeTypeToJson ( NodeType t)
inline

Definition at line 34 of file classificationjson.h.

References NoType.

◆ parseListPlaceholderVariant()

std::optional< ListPlaceholderVariant > IR::parseListPlaceholderVariant ( QStringView variant)
nodiscard

Reverse of {toString()}: maps the canonical kebab-case string back to a {ListPlaceholderVariant}, or {std::nullopt} for an unrecognized value. Used by the list-expander pass to dispatch on the placeholder block's {variant} attribute without introducing a parallel set of string literals.

Definition at line 66 of file listplaceholder.cpp.

References AnnotatedClasses, AnnotatedExamples, AnnotatedGroup, and CompactClasses.

◆ spanRoleId()

QString IR::spanRoleId ( SpanRole role)
static

Definition at line 55 of file signaturespan.cpp.

◆ statusToJson()

QJsonObject IR::statusToJson ( Status s)
inline

Definition at line 110 of file classificationjson.h.

◆ toString()

QString IR::toString ( ListPlaceholderVariant variant)
nodiscard

Returns the canonical kebab-case string used as the variant attribute of the placeholder block in JSON output. The string is the contract between the content builder, the list-expander pass, and the templates: every consumer matches on the same value, and {toString()} is the single source of truth.

Definition at line 44 of file listplaceholder.cpp.