1 #ifndef canvas_Utilities_TypeID_h 2 #define canvas_Utilities_TypeID_h 20 bool operator>(TypeID
const&, TypeID
const&);
22 std::ostream&
operator<<(std::ostream&, TypeID
const&);
23 void swap(TypeID&, TypeID&);
26 bool is_assns(std::string
const& type_name);
29 std::string
const& template_name);
43 explicit TypeID(std::type_info
const&);
45 explicit TypeID(std::type_info
const*);
48 explicit TypeID(T
const& val);
51 void print(std::ostream&)
const;
55 char const*
name()
const;
66 explicit operator bool()
const;
69 std::type_info
const&
typeInfo()
const;
79 std::type_info
const*
ti_{
nullptr};
99 return ti_->before(*rhs.
ti_);
108 inline art::TypeID::operator bool()
const 110 return ti_ !=
nullptr;
113 inline std::type_info
const&
159 std::string
const& template_name)
161 return type_name.find(template_name +
'<') == 0ull;
std::ostream & operator<<(std::ostream &os, EDAnalyzer::Table< T > const &t)
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
std::string friendlyClassName() const
std::string name_of_assns_partner(std::string assns_type_name)
bool operator!=(debugging_allocator< X > const &, debugging_allocator< Y > const &)
bool operator>(ScheduleID left, ScheduleID right)
void print(std::ostream &) const
std::string name_of_unwrapped_product(std::string const &wrapped_name)
void swap(Handle< T > &a, Handle< T > &b)
std::string name_of_assns_base(std::string assns_type_name)
bool operator<(TypeID const &rhs) const
bool is_instantiation_of(std::string const &type_name, std::string const &template_name)
bool operator==(TypeID const &rhs) const
std::type_info const & typeInfo() const
char const * name() const
bool is_assns(TypeID const &tid)
std::string className() const
void swap(TypeID &, TypeID &)
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
std::string name_of_template_arg(std::string const &template_instance, size_t desired_arg)
std::type_info const * ti_