FDO .NET API Reference Feature Data Objects

mgIoMemoryStream.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 2004-2006  Autodesk, Inc.
00003 * 
00004 * This library is free software; you can redistribute it and/or
00005 * modify it under the terms of version 2.1 of the GNU Lesser
00006 * General Public License as published by the Free Software Foundation.
00007 * 
00008 * This library is distributed in the hope that it will be useful,
00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 * Lesser General Public License for more details.
00012 * 
00013 * You should have received a copy of the GNU Lesser General Public
00014 * License along with this library; if not, write to the Free Software
00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00016 *
00017 */
00018 
00019 #pragma once
00020 
00021 #include "Common\Io\mgIoStream.h"
00022 
00023 class FdoIoMemoryStream;
00024 
00025 BEGIN_NAMESPACE_OSGEO_COMMON_IO
00026 
00027 /// \ingroup (OSGeoFDOCommonIo)
00028 /// \brief
00029 ///     IoMemoryStream provides streamed I/O to and from memory.
00030 public __sealed __gc class IoMemoryStream : public NAMESPACE_OSGEO_COMMON_IO::IoStream
00031 {
00032 public:
00033     /// \brief
00034     ///     creates the memory stream with its default size. The stream manages its own storage.
00035     /// 
00036     IoMemoryStream();
00037 
00038     /// \brief
00039     ///     creates the memory stream. The stream manages its own storage.
00040     /// 
00041     /// \param bufferSize 
00042     ///     Input memory allocation increment. Amount of new memory to 
00043     ///     allocated when the stream needs more memory.
00044     /// 
00045     IoMemoryStream(System::UInt32 bufferSize);
00046 
00047     /// \brief
00048     ///     Constructs a stream based on an unmanaged instance of the object
00049     /// 
00050     /// \param unmanaged 
00051     ///     Input A Pointer to the unmanaged stream.
00052     /// 
00053     /// \param autoDelete 
00054     ///     Input Indicates if the constructed object should be automatically deleted 
00055     ///     once it no longer referenced.
00056     /// 
00057     IoMemoryStream(System::IntPtr unmanaged, System::Boolean autoDelete);
00058 
00059 /// \cond DOXYGEN-IGNORE
00060 public private:
00061     inline FdoIoMemoryStream* GetImpObj();
00062 /// \endcond
00063 };
00064 
00065 END_NAMESPACE_OSGEO_COMMON_IO
00066 
00067 

Comments or suggestions? Send us feedback.