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  

XalanReferenceCountedObject.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(XALANREFERENCECOUNTEDOBJECT_HEADER_GUARD_1357924680)
00017 #define XALANREFERENCECOUNTEDOBJECT_HEADER_GUARD_1357924680
00018 
00019 
00020 
00021 // Base include file.  Must be first.
00022 #include <xalanc/PlatformSupport/PlatformSupportDefinitions.hpp>
00023 
00024 
00025 
00026 XALAN_CPP_NAMESPACE_BEGIN
00027 
00028 
00029 
00033 class XALAN_PLATFORMSUPPORT_EXPORT XalanReferenceCountedObject
00034 {
00035 public:
00036 
00040     static void
00041     addReference(XalanReferenceCountedObject*   theInstance);
00042 
00046     static void
00047     removeReference(XalanReferenceCountedObject*    theInstance);
00048 
00049 protected:
00050 
00054     explicit
00055     XalanReferenceCountedObject();
00056 
00057     virtual
00058     ~XalanReferenceCountedObject();
00059 
00060     virtual void 
00061     referenced() = 0;
00062 
00063     virtual void 
00064     dereferenced() = 0;
00065 
00066     virtual unsigned int
00067     getReferenceCount() const
00068     {
00069         return m_referenceCount;
00070     }
00071 
00072 private:
00073 
00074     unsigned int    m_referenceCount;
00075 
00076     // Not implemented...
00077     XalanReferenceCountedObject&
00078     operator=(const XalanReferenceCountedObject&);
00079 
00080     XalanReferenceCountedObject(const XalanReferenceCountedObject&);
00081 };
00082 
00083 
00084 
00085 XALAN_CPP_NAMESPACE_END
00086 
00087 
00088 
00089 #endif  // XALANREFERENCECOUNTEDOBJECT_HEADER_GUARD_1357924680

Interpreting class diagrams

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

dot

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

Apache Logo