diff options
Diffstat (limited to 'ACE/contrib/utility/Utility/Introspection/TypeId.hpp')
-rw-r--r-- | ACE/contrib/utility/Utility/Introspection/TypeId.hpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/ACE/contrib/utility/Utility/Introspection/TypeId.hpp b/ACE/contrib/utility/Utility/Introspection/TypeId.hpp new file mode 100644 index 00000000000..51f66f99a0b --- /dev/null +++ b/ACE/contrib/utility/Utility/Introspection/TypeId.hpp @@ -0,0 +1,47 @@ +// file : Utility/Introspection/TypeId.hpp +// author : Boris Kolpackov <boris@kolpackov.net> +// copyright : Copyright (c) 2002-2003 Boris Kolpackov +// license : http://kolpackov.net/license.html + +#ifndef UTILITY_INTROSPECTION_TYPE_ID_HPP +#define UTILITY_INTROSPECTION_TYPE_ID_HPP + +#include <typeinfo> +#include <iosfwd> + +namespace Utility +{ + namespace Introspection + { + class TypeId + { + public: + template<typename T> + TypeId (T const& t); + + TypeId (std::type_info const& tid); + + public: + bool + operator == (TypeId const& other) const; + + bool + operator != (TypeId const& other) const; + + bool + operator < (TypeId const& other) const; + + friend std::ostream& + operator << (std::ostream& os, TypeId const& t); + + private: + std::type_info const* tid_; + }; + } +} + +#include "Utility/Introspection/TypeId.tpp" +#include "Utility/Introspection/TypeId.ipp" + +#endif // UTILITY_INTROSPECTION_TYPE_ID_HPP +//$Id$ |