|
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) |
|