pleyo.com

/src/trunk2/BAL/Interfaces/DeprecatedCString.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2003 Apple Computer, Inc.  All rights reserved.
00003  *
00004  * Redistribution and use in source and binary forms, with or without
00005  * modification, are permitted provided that the following conditions
00006  * are met:
00007  * 1. Redistributions of source code must retain the above copyright
00008  *    notice, this list of conditions and the following disclaimer.
00009  * 2. Redistributions in binary form must reproduce the above copyright
00010  *    notice, this list of conditions and the following disclaimer in the
00011  *    documentation and/or other materials provided with the distribution.
00012  *
00013  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
00014  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00015  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00016  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
00017  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00018  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00019  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00020  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00021  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00022  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00023  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
00024  */
00025 
00026 #ifndef DeprecatedCString_h
00027 #define DeprecatedCString_h
00028 
00029 #include "DeprecatedArray.h"
00030 #include <string.h>
00031 
00032 namespace WebCore {
00033 
00034 class DeprecatedCString : public DeprecatedByteArray {
00035 public:
00036     DeprecatedCString();
00037     DeprecatedCString(int);
00038     DeprecatedCString(const char *);
00039     DeprecatedCString(const char *, unsigned);
00040 
00041     DeprecatedCString &operator=(const char *);
00042 
00043     bool isEmpty() const;
00044     bool isNull() const { return data() == 0; }
00045     int find(const char *, int index=0, bool cs=true) const;
00046     int contains(char, bool cs=true) const;
00047     unsigned length() const;
00048     bool truncate(unsigned);
00049     DeprecatedCString lower() const;
00050     DeprecatedCString upper() const;
00051     DeprecatedCString left(unsigned) const;
00052     DeprecatedCString right(unsigned) const;
00053     DeprecatedCString mid(unsigned, unsigned len=0xffffffff) const;
00054 
00055     DeprecatedCString &append(char);
00056     DeprecatedCString &append(const char *);
00057     DeprecatedCString &replace(char, char);
00058 
00059     operator const char *() const { return data(); }
00060     DeprecatedCString &operator+=(const char *s) { return append(s); }
00061     DeprecatedCString &operator+=(char c) { return append(c); }
00062 
00063 private:
00064     bool resize(unsigned);
00065 };
00066 
00067 bool operator==(const DeprecatedCString &s1, const char *s2);
00068 inline bool operator==(const char *s1, const DeprecatedCString &s2) { return s2 == s1; }
00069 inline bool operator!=(const DeprecatedCString &s1, const char *s2) { return !(s1 == s2); }
00070 inline bool operator!=(const char *s1, const DeprecatedCString &s2) { return !(s1 == s2); }
00071 
00072 }
00073 
00074 #endif

Generated on Wed Nov 21 20:04:16 2007 for Origyn Web Browser by Doxygen 1.5.3

pleyo.com
pleyo.com