Audacity 3.2.0
Public Member Functions | Public Attributes | List of all members
anonymous_namespace{NumericConverterRegistry.cpp}::RegistryVisitor Struct Reference
Inheritance diagram for anonymous_namespace{NumericConverterRegistry.cpp}::RegistryVisitor:
[legend]
Collaboration diagram for anonymous_namespace{NumericConverterRegistry.cpp}::RegistryVisitor:
[legend]

Public Member Functions

 RegistryVisitor (NumericConverterRegistry::Visitor _visitor, const FormatterContext &context, NumericConverterType requestedType)
 
void BeginGroup (const Registry::GroupItemBase &item, const Path &) override
 
void EndGroup (const Registry::GroupItemBase &, const Path &) override
 
void Visit (const Registry::SingleItem &item, const Path &) override
 
- Public Member Functions inherited from Registry::Visitor
virtual ~Visitor ()
 
virtual void BeginGroup (const GroupItemBase &item, const Path &path)
 
virtual void EndGroup (const GroupItemBase &item, const Path &path)
 
virtual void Visit (const SingleItem &item, const Path &path)
 

Public Attributes

NumericConverterRegistry::Visitor visitor
 
const NumericConverterType requestedType
 
const FormatterContextmContext
 
bool mInMatchingGroup { false }
 

Additional Inherited Members

- Public Types inherited from Registry::Visitor
using Path = std::vector< Identifier >
 

Detailed Description

Definition at line 17 of file NumericConverterRegistry.cpp.

Constructor & Destructor Documentation

◆ RegistryVisitor()

anonymous_namespace{NumericConverterRegistry.cpp}::RegistryVisitor::RegistryVisitor ( NumericConverterRegistry::Visitor  _visitor,
const FormatterContext context,
NumericConverterType  requestedType 
)
inline

Definition at line 19 of file NumericConverterRegistry.cpp.

Member Function Documentation

◆ BeginGroup()

void anonymous_namespace{NumericConverterRegistry.cpp}::RegistryVisitor::BeginGroup ( const Registry::GroupItemBase item,
const Path  
)
inlineoverridevirtual

Reimplemented from Registry::Visitor.

Definition at line 28 of file NumericConverterRegistry.cpp.

29 {
30 auto concreteGroup =
31 dynamic_cast<const NumericConverterRegistryGroup*>(&item);
32
34 concreteGroup != nullptr && concreteGroup->GetType() == requestedType;
35 }

References NumericConverterRegistryGroup::GetType().

Here is the call graph for this function:

◆ EndGroup()

void anonymous_namespace{NumericConverterRegistry.cpp}::RegistryVisitor::EndGroup ( const Registry::GroupItemBase ,
const Path  
)
inlineoverridevirtual

Reimplemented from Registry::Visitor.

Definition at line 37 of file NumericConverterRegistry.cpp.

38 {
39 mInMatchingGroup = false;
40 }

◆ Visit()

void anonymous_namespace{NumericConverterRegistry.cpp}::RegistryVisitor::Visit ( const Registry::SingleItem item,
const Path  
)
inlineoverridevirtual

Reimplemented from Registry::Visitor.

Definition at line 42 of file NumericConverterRegistry.cpp.

43 {
45 return;
46
47 auto concreteItem =
48 dynamic_cast<const NumericConverterRegistryItem*>(&item);
49
50 if (concreteItem == nullptr)
51 {
52 // This is unexpected so fail the debug build early
53 assert(false);
54 return;
55 }
56
57 // Skip the items that are not acceptable in this context
58 if (!concreteItem->factory->IsAcceptableInContext(mContext))
59 return;
60
61 visitor(*concreteItem);
62 }

Member Data Documentation

◆ mContext

const FormatterContext& anonymous_namespace{NumericConverterRegistry.cpp}::RegistryVisitor::mContext

Definition at line 68 of file NumericConverterRegistry.cpp.

◆ mInMatchingGroup

bool anonymous_namespace{NumericConverterRegistry.cpp}::RegistryVisitor::mInMatchingGroup { false }

Definition at line 69 of file NumericConverterRegistry.cpp.

◆ requestedType

const NumericConverterType anonymous_namespace{NumericConverterRegistry.cpp}::RegistryVisitor::requestedType

Definition at line 65 of file NumericConverterRegistry.cpp.

◆ visitor

NumericConverterRegistry::Visitor anonymous_namespace{NumericConverterRegistry.cpp}::RegistryVisitor::visitor

Definition at line 64 of file NumericConverterRegistry.cpp.


The documentation for this struct was generated from the following file: