## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.10

Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# XStringBase.hpp

Go to the documentation of this file.

    00001 /*
    00002  * Copyright 1999-2004 The Apache Software Foundation.
    00003  *
    00004  * Licensed under the Apache License, Version 2.0 (the "License");
    00005  * you may not use this file except in compliance with the License.
    00006  * You may obtain a copy of the License at
    00007  *
    00008  *     http://www.apache.org/licenses/LICENSE-2.0
    00009  *
    00010  * Unless required by applicable law or agreed to in writing, software
    00011  * distributed under the License is distributed on an "AS IS" BASIS,
    00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00013  * See the License for the specific language governing permissions and
    00014  * limitations under the License.
    00015  */
    00016 #if !defined(XSTRINGBASE_HEADER_GUARD_1357924680)
    00017 #define XSTRINGBASE_HEADER_GUARD_1357924680
    00018
    00019
    00020
    00021 // Base header file.  Must be first.
    00022 #include <xalanc/XPath/XPathDefinitions.hpp>
    00023
    00024
    00025
    00026 // Base class header file.
    00027 #include <xalanc/XPath/XObject.hpp>
    00028 #include <xalanc/XPath/XObjectResultTreeFragProxy.hpp>
    00029
    00030
    00031
    00032 XALAN_CPP_NAMESPACE_BEGIN
    00033
    00034
    00035
    00036 class XPathEnvSupport;
    00037
    00038
    00039
    00040 class XALAN_XPATH_EXPORT XStringBase : public XObject
    00041 {
    00042 public:
    00043
    00044     typedef XObject     ParentType;
    00045
    00050     XStringBase(MemoryManagerType& theManager);
    00051
    00052     XStringBase(const XStringBase&  source,
    00053                 MemoryManagerType&  theManager);
    00054
    00055     MemoryManagerType&
    00056     getMemoryManager()const
    00057     {
    00058         return m_resultTreeFrag.getMemoryManager();
    00059     }
    00060
    00061     virtual
    00062     ~XStringBase();
    00063
    00064
    00065     // These methods are inherited from XObject ...
    00066
    00067     virtual const XalanDOMString&
    00068     getTypeString() const;
    00069
    00070     virtual double
    00071     num() const;
    00072
    00073     virtual bool
    00074     boolean() const;
    00075
    00076 #if !defined(XALAN_NO_USING_DECLARATION)
    00077     using ParentType::str;
    00078 #endif
    00079
    00080     virtual const XalanDOMString&
    00081     str() const = 0;
    00082
    00083     virtual void
    00084     str(
    00085             FormatterListener&  formatterListener,
    00086             MemberFunctionPtr   function) const = 0;
    00087
    00088     virtual double
    00089     stringLength() const = 0;
    00090
    00091     virtual const XalanDocumentFragment&
    00092     rtree() const;
    00093
    00094     virtual void
    00095     ProcessXObjectTypeCallback(XObjectTypeCallback&     theCallbackObject);
    00096
    00097     virtual void
    00098     ProcessXObjectTypeCallback(XObjectTypeCallback&     theCallbackObject) const;
    00099
    00100 private:
    00101     // Not implemented
    00102     XStringBase(const XStringBase&  source);
    00103     XStringBase();
    00104
    00105     mutable double                      m_cachedNumberValue;
    00106
    00107     mutable XObjectResultTreeFragProxy  m_resultTreeFrag;
    00108 };
    00109
    00110
    00111
    00112 XALAN_CPP_NAMESPACE_END
    00113
    00114
    00115
    00116 #endif  // XSTRINGBASE_HEADER_GUARD_1357924680

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.10 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.