diff options
Diffstat (limited to 'ACE/ace/String_Base.inl')
-rw-r--r-- | ACE/ace/String_Base.inl | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/ACE/ace/String_Base.inl b/ACE/ace/String_Base.inl new file mode 100644 index 00000000000..45abd5eb83b --- /dev/null +++ b/ACE/ace/String_Base.inl @@ -0,0 +1,152 @@ +// -*- C++ -*- +// +// $Id$ + +#include "ace/Malloc_Base.h" +#include "ace/Min_Max.h" +#include "ace/OS_NS_string.h" +#include "ace/OS_Memory.h" + +ACE_BEGIN_VERSIONED_NAMESPACE_DECL + +template <class CHAR> ACE_INLINE void +ACE_String_Base<CHAR>::dump (void) const +{ +#if defined (ACE_HAS_DUMP) + ACE_TRACE ("ACE_String_Base<CHAR>::dump"); +#endif /* ACE_HAS_DUMP */ +} + +// Assignment method (does not copy memory) +template <class CHAR> ACE_INLINE ACE_String_Base<CHAR> & +ACE_String_Base<CHAR>::assign_nocopy (const ACE_String_Base<CHAR> &s) +{ + ACE_TRACE ("ACE_String_Base<CHAR>::assign_nocopy"); + this->set (s.rep_, s.len_, 0); + return *this; +} + +template <class CHAR> ACE_INLINE typename ACE_String_Base<CHAR>::size_type +ACE_String_Base<CHAR>::length (void) const +{ + ACE_TRACE ("ACE_String_Base<CHAR>::length"); + return this->len_; +} + +template <class CHAR> ACE_INLINE bool +ACE_String_Base<CHAR>::is_empty (void) const +{ + return this->len_ == 0; +} + +template <class CHAR> ACE_INLINE bool +ACE_String_Base<CHAR>::empty (void) const +{ + return this->is_empty (); +} + +template <class CHAR> ACE_INLINE ACE_String_Base<CHAR> +ACE_String_Base<CHAR>::substr ( + typename ACE_String_Base<CHAR>::size_type offset, + typename ACE_String_Base<CHAR>::size_type length) const +{ + ACE_TRACE ("ACE_String_Base<CHAR>::substr"); + return this->substring (offset, length); +} + +// Return the <slot'th> character in the string. + +template <class CHAR> ACE_INLINE const CHAR & +ACE_String_Base<CHAR>::operator[] ( + typename ACE_String_Base<CHAR>::size_type slot) const +{ + ACE_TRACE ("ACE_String_Base<CHAR>::operator[]"); + return this->rep_[slot]; +} + +// Return the <slot'th> character in the string by reference. + +template <class CHAR> ACE_INLINE CHAR & +ACE_String_Base<CHAR>::operator[] ( + typename ACE_String_Base<CHAR>::size_type slot) +{ + ACE_TRACE ("ACE_String_Base<CHAR>::operator[]"); + return this->rep_[slot]; +} + +template <class CHAR> ACE_INLINE const CHAR * +ACE_String_Base<CHAR>::fast_rep (void) const +{ + return this->rep_; +} + +template <class CHAR> ACE_INLINE const CHAR * +ACE_String_Base<CHAR>::c_str (void) const +{ + return this->rep_; +} + +// Less than comparison operator. + +template <class CHAR> ACE_INLINE bool +ACE_String_Base<CHAR>::operator < (const ACE_String_Base<CHAR> &s) const +{ + ACE_TRACE ("ACE_String_Base<CHAR>::operator <"); + return compare (s) < 0; +} + +// Greater than comparison operator. + +template <class CHAR> ACE_INLINE bool +ACE_String_Base<CHAR>::operator > (const ACE_String_Base &s) const +{ + ACE_TRACE ("ACE_String_Base<CHAR>::operator >"); + return compare (s) > 0; +} + + +// Comparison operator. + +template <class CHAR> ACE_INLINE bool +ACE_String_Base<CHAR>::operator!= (const ACE_String_Base<CHAR> &s) const +{ + ACE_TRACE ("ACE_String_Base<CHAR>::operator!="); + return !(*this == s); +} + +template <class CHAR> ACE_INLINE bool +ACE_String_Base<CHAR>::operator!= (const CHAR *s) const +{ + return !(*this == s); +} + +template <class CHAR> ACE_INLINE typename ACE_String_Base<CHAR>::size_type +ACE_String_Base<CHAR>::find (const ACE_String_Base<CHAR>&str, + typename ACE_String_Base<CHAR>::size_type pos) const +{ + ACE_TRACE ("ACE_String_Base<CHAR>::find"); + return this->find (str.rep_, pos); +} + +template <class CHAR> ACE_INLINE typename ACE_String_Base<CHAR>::size_type +ACE_String_Base<CHAR>::strstr (const ACE_String_Base<CHAR> &s) const +{ + ACE_TRACE ("ACE_String_Base<CHAR>::strstr"); + return this->find (s.rep_); +} + +template <class CHAR> ACE_INLINE bool +operator== (const CHAR *s, + const ACE_String_Base<CHAR> &t) +{ + return t == s; +} + +template <class CHAR> ACE_INLINE bool +operator!= (const CHAR *s, + const ACE_String_Base<CHAR> &t) +{ + return !(t == s); +} + +ACE_END_VERSIONED_NAMESPACE_DECL |