-/*
+/*
string.icc -- implement String inlines
-
+
source file of the Flower Library
-
- (c) 1997--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
- */
+
+ (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+*/
#ifndef STRING_ICC
#define STRING_ICC
+/// for completeness (=handy)
+INLINE
+String
+to_string (String s)
+{
+ return s;
+}
+
+INLINE
+char const *
+String::to_str0 () const
+{
+ return strh_.to_str0 ();
+}
+
+// because char const* also has an operator ==, this is for safety:
+INLINE
+bool
+operator == (String s1, char const *s2)
+{
+ return s1 == String (s2);
+}
+
+INLINE
+bool
+operator == (char const *s1, String s2)
+{
+ return String (s1) == s2;
+}
+
+INLINE
+bool
+operator != (String s1, char const *s2)
+{
+ return s1 != String (s2);
+}
-INLINE
+INLINE
+bool
+operator != (char const *s1, String s2)
+{
+ return String (s2) != s1;
+}
+
+INLINE
char &
String::operator [] (int n)
{
- return (char &) strh_[n];
+ return (char &) strh_[n];
}
-INLINE
-char
+INLINE
+char
String::operator [] (int n) const
{
- return strh_[n];
+ return strh_[n];
}
-INLINE
-String::String ()
+INLINE
+String::String ()
{
}
INLINE
-String::String (char const* source)
-{
- assert (source);
- strh_ = source;
+String::String (char const *source)
+{
+ assert (source);
+ strh_ = source;
}
-
#endif /* STRING_ICC */