|
| using | Registry::Path = std::vector< Identifier > |
| |
| using | Registry::detail::BaseItemPtr = std::unique_ptr< BaseItem > |
| |
| using | Registry::detail::BaseItemSharedPtr = std::shared_ptr< BaseItem > |
| |
| template<typename Type , typename List > |
| using | Registry::detail::ConsUnique_t = typename ConsUnique< Type, List >::type |
| |
| template<typename RegistryTraits > |
| using | Registry::detail::VisitedNodeTypes = ConsUnique_t< const GroupItem< RegistryTraits >, Map_t< Fn< std::add_const_t >, typename RegistryTraits::NodeTypes > > |
| |
| template<typename RegistryTraits > |
| using | Registry::detail::VisitedLeafTypes = ConsUnique_t< const SingleItem, Map_t< Fn< std::add_const_t >, typename RegistryTraits::LeafTypes > > |
| |
| template<typename Types > |
| using | Registry::detail::VisitorFunction = std::function< void(Head_t< Types > &, const Path &)> |
| |
| using | Registry::BaseItemTypes = TypeList::List< detail::IndirectItemBase, detail::ComputedItemBase, struct SingleItem, struct detail::GroupItemBase > |
| |
| template<typename Item > |
| using | Registry::AcceptableBaseItem = TypeList::HasBaseIn< Item, BaseItemTypes > |
| |
| template<typename RegistryTraits > |
| using | Registry::AllTypes_t = typename AllTypes< RegistryTraits >::type |
| |
| template<typename T > |
| using | Registry::ActualItem_t = typename ActualItem< T >::type |
| |
| template<typename RegistryTraits , typename Item > |
| using | Registry::AcceptableType = AcceptableItemType< Item, AllTypes_t< RegistryTraits > > |
| |
| template<typename RegistryTraits > |
| using | Registry::detail::NodeVisitorFunction = VisitorFunction< VisitedNodeTypes< RegistryTraits > > |
| |
| template<typename RegistryTraits > |
| using | Registry::detail::LeafVisitorFunction = VisitorFunction< VisitedLeafTypes< RegistryTraits > > |
| |
| template<typename RegistryTraits > |
| using | Registry::detail::VisitorFunctionTriple = std::tuple< NodeVisitorFunction< RegistryTraits >, LeafVisitorFunction< RegistryTraits >, NodeVisitorFunction< RegistryTraits > > |
| |
|
| template<typename Item > |
| std::unique_ptr< detail::IndirectItem< Item > > | Registry::Indirect (const std::shared_ptr< Item > &ptr) |
| | A convenience function. More...
|
| |
| REGISTRIES_API void | Registry::detail::RegisterItem (GroupItemBase ®istry, const Placement &placement, BaseItemPtr pItem) |
| | Type-erased implementation details, don't call directly. More...
|
| |
| template<typename RegistryTraits , typename Item > |
| void | Registry::RegisterItem (GroupItem< RegistryTraits > ®istry, const Placement &placement, std::unique_ptr< Item > pItem) |
| |
| template<typename V > |
| auto | Registry::detail::ForwardTuple_ (const V &visitor, std::false_type) |
| |
| template<typename V > |
| auto | Registry::detail::ForwardTuple_ (const V &visitor, std::true_type) |
| |
| template<typename V > |
| auto | Registry::detail::ForwardTuple (const V &visitor) |
| |
| template<typename V > |
| auto | Registry::detail::MakeTuple_ (const V &visitor, std::false_type) |
| |
| template<typename V > |
| auto | Registry::detail::MakeTuple_ (const V &visitor, std::true_type) |
| |
| template<typename V > |
| auto | Registry::detail::MakeTuple (const V &visitor) |
| |
| template<typename V > |
| auto | Registry::detail::CaptureTuple_ (const V &visitor, std::true_type) |
| |
| template<typename V > |
| auto | Registry::detail::CaptureTuple_ (const V &visitor, std::false_type) |
| |
| template<bool Reference, typename V > |
| auto | Registry::detail::CaptureTuple (const V &visitor) |
| |
| template<typename Types , bool Reference, typename Visitor > |
| VisitorFunction< Types > | Registry::detail::MakeVisitorFunction (const Visitor &visitor) |
| | Capture a callable for Visit() in a std::function wrapper. More...
|
| |
| REGISTRIES_API void | Registry::detail::Visit (VisitorBase &visitor, const GroupItemBase *pTopItem, const GroupItemBase *pRegistry, void *pComputedItemContext) |
| |
| template<typename RegistryTraits , typename Visitors > |
| void | Registry::Visit (const Visitors &visitors, const GroupItem< RegistryTraits > *pTopItem, const GroupItem< RegistryTraits > *pRegistry={}, typename RegistryTraits::ComputedItemContextType &computedItemContext=RegistryTraits::ComputedItemContextType::Instance) |
| |
| template<typename RegistryTraits > |
| void | Registry::VisitWithFunctions (const VisitorFunctions< RegistryTraits > &visitors, const GroupItem< RegistryTraits > *pTopItem, const GroupItem< RegistryTraits > *pRegistry={}, typename RegistryTraits::ComputedItemContextType &computedItemContext=RegistryTraits::ComputedItemContextType::Instance) |
| |