diff options
Diffstat (limited to 'dep/ACE_wrappers/ace/Hashable.h')
-rw-r--r-- | dep/ACE_wrappers/ace/Hashable.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/dep/ACE_wrappers/ace/Hashable.h b/dep/ACE_wrappers/ace/Hashable.h index 2bb122741c7..88e272cd8b9 100644 --- a/dep/ACE_wrappers/ace/Hashable.h +++ b/dep/ACE_wrappers/ace/Hashable.h @@ -1,4 +1,5 @@ // -*- C++ -*- + //============================================================================= /** * @file Hashable.h @@ -8,14 +9,20 @@ * @author Doug Schmidt */ //============================================================================= + #ifndef ACE_HASHABLE_H #define ACE_HASHABLE_H + #include /**/ "ace/pre.h" + #include /**/ "ace/ACE_export.h" + #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ + ACE_BEGIN_VERSIONED_NAMESPACE_DECL + /** * @class ACE_Hashable * @@ -24,25 +31,36 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL class ACE_Export ACE_Hashable { public: + /// Destructor. virtual ~ACE_Hashable (void); + /// Computes and returns hash value. This "caches" the hash value to /// improve performance. virtual unsigned long hash (void) const; + protected: /// Protected constructor. ACE_Hashable (void); + /// This is the method that actually performs the non-cached hash /// computation. virtual unsigned long hash_i (void) const = 0; + protected: + /// Pre-computed hash-value. mutable unsigned long hash_value_; + }; + ACE_END_VERSIONED_NAMESPACE_DECL + #if defined (__ACE_INLINE__) #include "ace/Hashable.inl" #endif /* __ACE_INLINE __ */ + #include /**/ "ace/post.h" + #endif /*ACE_HASHABLE_H*/ |