1 #ifndef SAUCE_INTERNAL_KEY_H_
2 #define SAUCE_INTERNAL_KEY_H_
4 #include <sauce/memory.h>
5 #include <sauce/named.h>
6 #include <sauce/internal/type_id.h>
14 template<
typename Iface_>
18 typedef sauce::shared_ptr<Iface_> Ptr;
33 template<
typename Iface_>
36 typedef typename Key<Iface_>::Iface Iface;
37 typedef typename Key<Iface_>::Ptr Ptr;
45 template<
typename Iface_>
46 class Key<sauce::shared_ptr<Iface_> > {
48 typedef typename Key<Iface_>::Iface Iface;
49 typedef typename Key<Iface_>::Ptr Ptr;
57 template<
typename Iface_,
typename Name_>
61 typedef sauce::shared_ptr<Iface_> Ptr;
68 namespace i = ::sauce::internal;
72 #endif // SAUCE_INTERNAL_KEY_H_