- Main Page
- Related Pages
- Modules
- Classes
- Files

# PropertyDefinitionCollection.h

Go to the documentation of this file.

    00001 #ifndef _PROPERTYDEFINITIONCOLLECTION_H_
    00002 #define _PROPERTYDEFINITIONCOLLECTION_H_
    00003
    00004 //
    00005 // Copyright (C) 2004-2006  Autodesk, Inc.
    00006 //
    00007 // This library is free software; you can redistribute it and/or
    00008 // modify it under the terms of version 2.1 of the GNU Lesser
    00009 // General Public License as published by the Free Software Foundation.
    00010 //
    00011 // This library is distributed in the hope that it will be useful,
    00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00014 // Lesser General Public License for more details.
    00015 //
    00016 // You should have received a copy of the GNU Lesser General Public
    00017 // License along with this library; if not, write to the Free Software
    00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    00019 //
    00020
    00021 #ifdef _WIN32
    00022 #pragma once
    00023 #endif
    00024
    00025 #include <Fdo/Schema/PropertyDefinition.h>
    00026 #include <Fdo/Schema/SchemaCollection.h>
    00027
    00028 class FdoClassDefinition;
    00029
    00030 /// \brief
    00031 /// The FdoPropertyDefinitionCollection class represents a collection of FdoPropertyDefinition objects.
    00032 class FdoPropertyDefinitionCollection: public FdoSchemaCollection<FdoPropertyDefinition>
    00033 {
    00034     friend class FdoClassDefinition;
    00035
    00036 protected:
    00037 /// \cond DOXYGEN-IGNORE
    00038     FdoPropertyDefinitionCollection()
    00039     {
    00040     }
    00041     /// Constructs a default empty instance of an FdoPropertyDefinitionCollection.
    00042     FdoPropertyDefinitionCollection(FdoSchemaElement* parent):FdoSchemaCollection<FdoPropertyDefinition>(parent)
    00043     {
    00044     }
    00045
    00046     virtual ~FdoPropertyDefinitionCollection()
    00047     {
    00048     }
    00049
    00050     virtual void Dispose()
    00051     {
    00052         delete this;
    00053     }
    00054 /// \endcond
    00055
    00056 public:
    00057     /// \brief
    00058     /// Constructs an instance of an FdoPropertyDefinitionCollection using the specified argument.
    00059     ///
    00060     /// \param parent
    00061     /// Input parent
    00062     ///
    00063     /// \return
    00064     /// Returns FdoPropertyDefinitionCollection
    00065     ///
    00066     FDO_API static FdoPropertyDefinitionCollection* Create(FdoSchemaElement* parent);
    00067
    00068     /// \brief
    00069     /// Removes the specified item from the collection. Throws an invalid argument exception if the item does not exist within the collection.
    00070     ///
    00071     /// \param value
    00072     /// Input value
    00073     ///
    00074     /// \return
    00075     /// Returns nothing
    00076     ///
    00077     FDO_API virtual void Remove(const FdoSchemaElement* value);
    00078
    00079     /// \brief
    00080     /// Removes the specified item from the collection. Throws an invalid argument exception if the item does not exist within the collection.
    00081     ///
    00082     /// \param index
    00083     /// Input index
    00084     ///
    00085     /// \return
    00086     /// Returns nothing
    00087     ///
    00088     FDO_API virtual void RemoveAt(FdoInt32 index);
    00089 };
    00090
    00091 /// \ingroup (typedefs)
    00092 /// \brief
    00093 /// FdoPropertiesP is a FdoPtr on FdoPropertyDefinitionCollection, provided for convenience.
    00094 typedef FdoPtr<FdoPropertyDefinitionCollection> FdoPropertiesP;
    00095
    00096 #endif
    00097
    00098

Please send us your comment about this page