![]() |
Audacity 3.2.0
|
Classes | |
| struct | BaseItem |
| struct | Builder |
| struct | ComputedItem |
| struct | ComputedItemBase |
| struct | ConsUnique |
| struct | GroupItemBase |
| Common abstract base class for items that group other items. More... | |
| struct | IndirectItem |
| An item that delegates to another held in a shared pointer. More... | |
| struct | IndirectItemBase |
| struct | Visitor |
| Type-erasing adapter class (with no std::function overhead) More... | |
| class | VisitorBase |
Typedefs | |
| using | BaseItemPtr = std::unique_ptr< BaseItem > |
| using | BaseItemSharedPtr = std::shared_ptr< BaseItem > |
| template<typename Type , typename List > | |
| using | ConsUnique_t = typename ConsUnique< Type, List >::type |
| template<typename RegistryTraits > | |
| using | VisitedNodeTypes = ConsUnique_t< const GroupItem< RegistryTraits >, Map_t< Fn< std::add_const_t >, typename RegistryTraits::NodeTypes > > |
| template<typename RegistryTraits > | |
| using | VisitedLeafTypes = ConsUnique_t< const SingleItem, Map_t< Fn< std::add_const_t >, typename RegistryTraits::LeafTypes > > |
| template<typename Types > | |
| using | VisitorFunction = std::function< void(Head_t< Types > &, const Path &)> |
| template<typename RegistryTraits > | |
| using | NodeVisitorFunction = VisitorFunction< VisitedNodeTypes< RegistryTraits > > |
| template<typename RegistryTraits > | |
| using | LeafVisitorFunction = VisitorFunction< VisitedLeafTypes< RegistryTraits > > |
| template<typename RegistryTraits > | |
| using | VisitorFunctionTriple = std::tuple< NodeVisitorFunction< RegistryTraits >, LeafVisitorFunction< RegistryTraits >, NodeVisitorFunction< RegistryTraits > > |
Functions | |
| REGISTRIES_API void | RegisterItem (GroupItemBase ®istry, const Placement &placement, BaseItemPtr pItem) |
| Type-erased implementation details, don't call directly. More... | |
| template<typename V > | |
| auto | ForwardTuple_ (const V &visitor, std::false_type) |
| template<typename V > | |
| auto | ForwardTuple_ (const V &visitor, std::true_type) |
| template<typename V > | |
| auto | ForwardTuple (const V &visitor) |
| template<typename V > | |
| auto | MakeTuple_ (const V &visitor, std::false_type) |
| template<typename V > | |
| auto | MakeTuple_ (const V &visitor, std::true_type) |
| template<typename V > | |
| auto | MakeTuple (const V &visitor) |
| template<typename V > | |
| auto | CaptureTuple_ (const V &visitor, std::true_type) |
| template<typename V > | |
| auto | CaptureTuple_ (const V &visitor, std::false_type) |
| template<bool Reference, typename V > | |
| auto | CaptureTuple (const V &visitor) |
| template<typename Types , bool Reference, typename Visitor > | |
| VisitorFunction< Types > | MakeVisitorFunction (const Visitor &visitor) |
| Capture a callable for Visit() in a std::function wrapper. More... | |
| REGISTRIES_API void | Visit (VisitorBase &visitor, const GroupItemBase *pTopItem, const GroupItemBase *pRegistry, void *pComputedItemContext) |
Variables | |
| template<typename Visitors > | |
| static constexpr auto | TupleSize |
| How large a tuple to make from Visitors. More... | |
| using Registry::detail::BaseItemPtr = typedef std::unique_ptr<BaseItem> |
Definition at line 91 of file Registry.h.
| using Registry::detail::BaseItemSharedPtr = typedef std::shared_ptr<BaseItem> |
Definition at line 93 of file Registry.h.
| using Registry::detail::ConsUnique_t = typedef typename ConsUnique<Type, List>::type |
Definition at line 116 of file Registry.h.
| using Registry::detail::LeafVisitorFunction = typedef VisitorFunction<VisitedLeafTypes<RegistryTraits> > |
Definition at line 460 of file Registry.h.
| using Registry::detail::NodeVisitorFunction = typedef VisitorFunction<VisitedNodeTypes<RegistryTraits> > |
Definition at line 458 of file Registry.h.
| using Registry::detail::VisitedLeafTypes = typedef ConsUnique_t<const SingleItem, Map_t<Fn<std::add_const_t>, typename RegistryTraits::LeafTypes> > |
Definition at line 122 of file Registry.h.
| using Registry::detail::VisitedNodeTypes = typedef ConsUnique_t<const GroupItem<RegistryTraits>, Map_t<Fn<std::add_const_t>, typename RegistryTraits::NodeTypes> > |
Definition at line 119 of file Registry.h.
| using Registry::detail::VisitorFunction = typedef std::function<void(Head_t<Types> &, const Path &)> |
Definition at line 125 of file Registry.h.
| using Registry::detail::VisitorFunctionTriple = typedef std::tuple< NodeVisitorFunction<RegistryTraits>, LeafVisitorFunction<RegistryTraits>, NodeVisitorFunction<RegistryTraits> > |
Definition at line 462 of file Registry.h.
| auto Registry::detail::CaptureTuple | ( | const V & | visitor | ) |
Definition at line 434 of file Registry.h.
References CaptureTuple_().
| auto Registry::detail::CaptureTuple_ | ( | const V & | visitor, |
| std::false_type | |||
| ) |
Definition at line 430 of file Registry.h.
References MakeTuple().
| auto Registry::detail::CaptureTuple_ | ( | const V & | visitor, |
| std::true_type | |||
| ) |
Definition at line 426 of file Registry.h.
References ForwardTuple().
Referenced by CaptureTuple().
| auto Registry::detail::ForwardTuple | ( | const V & | visitor | ) |
Definition at line 408 of file Registry.h.
References ForwardTuple_().
Referenced by Registry::detail::Visitor< RegistryTraits, Visitors >::BeginGroup(), CaptureTuple_(), Registry::detail::Visitor< RegistryTraits, Visitors >::EndGroup(), and Registry::detail::Visitor< RegistryTraits, Visitors >::Visit().
| auto Registry::detail::ForwardTuple_ | ( | const V & | visitor, |
| std::false_type | |||
| ) |
Definition at line 400 of file Registry.h.
Referenced by ForwardTuple().
| auto Registry::detail::ForwardTuple_ | ( | const V & | visitor, |
| std::true_type | |||
| ) |
Definition at line 404 of file Registry.h.
References Tuple::ForwardAll().
| auto Registry::detail::MakeTuple | ( | const V & | visitor | ) |
Definition at line 421 of file Registry.h.
References MakeTuple_().
Referenced by CaptureTuple_().
| auto Registry::detail::MakeTuple_ | ( | const V & | visitor, |
| std::false_type | |||
| ) |
Definition at line 413 of file Registry.h.
Referenced by MakeTuple().
| auto Registry::detail::MakeTuple_ | ( | const V & | visitor, |
| std::true_type | |||
| ) |
Definition at line 417 of file Registry.h.
References Tuple::All().
| VisitorFunction< Types > Registry::detail::MakeVisitorFunction | ( | const Visitor & | visitor | ) |
Capture a callable for Visit() in a std::function wrapper.
Definition at line 440 of file Registry.h.
| void Registry::detail::RegisterItem | ( | GroupItemBase & | registry, |
| const Placement & | placement, | ||
| BaseItemPtr | pItem | ||
| ) |
Type-erased implementation details, don't call directly.
Definition at line 765 of file Registry.cpp.
References details::end(), Registry::Placement::hint, Composite::Base< Component, ComponentPointer, ComponentArgs >::items, and Registry::Placement::path.
Referenced by Registry::RegisterItem().
| void Registry::detail::Visit | ( | VisitorBase & | visitor, |
| const GroupItemBase * | pTopItem, | ||
| const GroupItemBase * | pRegistry, | ||
| void * | pComputedItemContext | ||
| ) |
Definition at line 725 of file Registry.cpp.
References audacity::BasicSettings::Flush(), gPrefs, and anonymous_namespace{Registry.cpp}::VisitItem().
|
staticconstexpr |
How large a tuple to make from Visitors.
Definition at line 451 of file Registry.h.