summaryrefslogtreecommitdiff
path: root/ACE/contrib/utility/Utility/Introspection/TypeInfo.ipp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/contrib/utility/Utility/Introspection/TypeInfo.ipp')
-rw-r--r--ACE/contrib/utility/Utility/Introspection/TypeInfo.ipp77
1 files changed, 77 insertions, 0 deletions
diff --git a/ACE/contrib/utility/Utility/Introspection/TypeInfo.ipp b/ACE/contrib/utility/Utility/Introspection/TypeInfo.ipp
new file mode 100644
index 00000000000..395cf7d6539
--- /dev/null
+++ b/ACE/contrib/utility/Utility/Introspection/TypeInfo.ipp
@@ -0,0 +1,77 @@
+// file : Utility/Introspection/TypeInfo.ipp
+// author : Boris Kolpackov <boris@kolpackov.net>
+// copyright : Copyright (c) 2002-2003 Boris Kolpackov
+// license : http://kolpackov.net/license.html
+
+namespace Utility
+{
+ namespace Introspection
+ {
+ // BaseInfo
+ //
+ //
+
+ inline BaseInfo::
+ BaseInfo (Access::Value access, bool virtual_base, TypeInfo const& ti)
+ : ti_ (&ti),
+ virtual_base_ (virtual_base),
+ access_ (access)
+ {
+ }
+
+ inline TypeInfo const& BaseInfo::
+ type_info () const
+ {
+ return *ti_;
+ }
+
+
+ inline Access::Value BaseInfo::
+ access () const
+ {
+ return access_;
+ }
+
+ inline bool BaseInfo::
+ virtual_base () const
+ {
+ return virtual_base_;
+ }
+
+
+ // TypeInfo
+ //
+ //
+ inline TypeInfo::
+ TypeInfo (TypeId const& tid)
+ : tid_ (tid)
+ {
+ }
+
+ inline TypeId TypeInfo::
+ type_id () const
+ {
+ return tid_;
+ }
+
+ inline TypeInfo::BaseIterator TypeInfo::
+ begin_base () const
+ {
+ return base_.begin ();
+ }
+
+
+ inline TypeInfo::BaseIterator TypeInfo::
+ end_base () const
+ {
+ return base_.end ();
+ }
+
+ inline void TypeInfo::
+ add_base (Access::Value access, bool virtual_base, TypeInfo const& ti)
+ {
+ base_.push_back (BaseInfo (access, virtual_base, ti));
+ }
+ }
+}
+//$Id$