// File generated by CPPExt (Value)
//
//                     Copyright (C) 1991 - 2000 by  
//                      Matra Datavision SA.  All rights reserved.
//  
//                     Copyright (C) 2001 - 2004 by
//                     Open CASCADE SA.  All rights reserved.
// 
// This file is part of the Open CASCADE Technology software.
//
// This software may be distributed and/or modified under the terms and
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
// and appearing in the file LICENSE included in the packaging of this file.
//  
// This software is distributed on an "AS IS" basis, without warranty of any
// kind, and Open CASCADE SA hereby disclaims all such warranties,
// including without limitation, any warranties of merchantability, fitness
// for a particular purpose or non-infringement. Please see the License for
// the specific terms and conditions governing rights and limitations under the
// License.

#ifndef _TDataStd_HeaderFile
#define _TDataStd_HeaderFile

#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
#endif
#ifndef _TDataStd_GeometryEnum_HeaderFile
#include <TDataStd_GeometryEnum.hxx>
#endif
#ifndef _TDataStd_RealEnum_HeaderFile
#include <TDataStd_RealEnum.hxx>
#endif
#ifndef _TDataStd_ConstraintEnum_HeaderFile
#include <TDataStd_ConstraintEnum.hxx>
#endif
class TDF_IDList;
class TDataStd_Current;
class TDataStd_Name;
class TDataStd_Comment;
class TDataStd_Integer;
class TDataStd_IntegerArray;
class TDataStd_Real;
class TDataStd_RealArray;
class TDataStd_ExtStringArray;
class TDataStd_UAttribute;
class TDataStd_Position;
class TDataStd_Constraint;
class TDataStd_Placement;
class TDataStd_Geometry;
class TDataStd_Point;
class TDataStd_Axis;
class TDataStd_Plane;
class TDataStd_Pattern;
class TDataStd_PatternStd;
class TDataStd_TreeNode;
class TDataStd_ChildNodeIterator;
class TDataStd_Directory;
class TDataStd_Shape;
class TDataStd_NoteBook;
class TDataStd_Expression;
class TDataStd_Relation;
class TDataStd_Variable;
class TDataStd_DeltaOnModificationOfIntArray;
class TDataStd_DeltaOnModificationOfRealArray;
class TDataStd_DeltaOnModificationOfExtStringArray;
class TDataStd_DeltaOnModificationOfIntPackedMap;
class TDataStd_DeltaOnModificationOfByteArray;
class TDataStd_Tick;
class TDataStd_AsciiString;
class TDataStd_IntPackedMap;
class TDataStd_IntegerList;
class TDataStd_RealList;
class TDataStd_ExtStringList;
class TDataStd_BooleanList;
class TDataStd_ReferenceList;
class TDataStd_BooleanArray;
class TDataStd_ReferenceArray;
class TDataStd_ByteArray;
class TDataStd_NamedData;
class TDataStd_Array1OfTrsf;
class TDataStd_HArray1OfTrsf;
class TDataStd_ListOfExtendedString;
class TDataStd_ListOfByte;
class TDataStd_Array1OfByte;
class TDataStd_HArray1OfByte;
class TDataStd_LabelArray1;
class TDataStd_HLabelArray1;
class TDataStd_DataMapOfStringInteger;
class TDataStd_DataMapOfStringReal;
class TDataStd_DataMapOfStringString;
class TDataStd_DataMapOfStringByte;
class TDataStd_DataMapOfStringHArray1OfInteger;
class TDataStd_DataMapOfStringHArray1OfReal;
class TDataStd_HDataMapOfStringInteger;
class TDataStd_HDataMapOfStringReal;
class TDataStd_HDataMapOfStringString;
class TDataStd_HDataMapOfStringByte;
class TDataStd_HDataMapOfStringHArray1OfInteger;
class TDataStd_HDataMapOfStringHArray1OfReal;
class TDataStd_ListNodeOfListOfExtendedString;
class TDataStd_ListIteratorOfListOfExtendedString;
class TDataStd_ListNodeOfListOfByte;
class TDataStd_ListIteratorOfListOfByte;
class TDataStd_DataMapNodeOfDataMapOfStringInteger;
class TDataStd_DataMapIteratorOfDataMapOfStringInteger;
class TDataStd_DataMapNodeOfDataMapOfStringReal;
class TDataStd_DataMapIteratorOfDataMapOfStringReal;
class TDataStd_DataMapNodeOfDataMapOfStringString;
class TDataStd_DataMapIteratorOfDataMapOfStringString;
class TDataStd_DataMapNodeOfDataMapOfStringByte;
class TDataStd_DataMapIteratorOfDataMapOfStringByte;
class TDataStd_DataMapNodeOfDataMapOfStringHArray1OfInteger;
class TDataStd_DataMapIteratorOfDataMapOfStringHArray1OfInteger;
class TDataStd_DataMapNodeOfDataMapOfStringHArray1OfReal;
class TDataStd_DataMapIteratorOfDataMapOfStringHArray1OfReal;


#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

//!  This  package  defines   standard attributes for <br>
//!           modelling. <br>
//! These allow you to create and modify labels <br>
//! and attributes for many basic data types. <br>
//! Standard topological and visualization <br>
//! attributes have also been created. <br>
//! To find an attribute attached to a specific label, <br>
//! you use the GUID of the type of attribute you <br>
//! are looking for. To do this, first find this <br>
//! information using the method GetID as follows: Standard_GUID anID = <br>
//! MyAttributeClass::GetID(); <br>
//! Then, use the method Find for the label as follows: <br>
//! Standard_Boolean HasAttribute <br>
//! = <br>
//! aLabel.Find(anID,anAttribute); <br>
//! Note <br>
//! For information on the relations between this <br>
//! component of OCAF and the others, refer to the OCAF User's Guide. <br>
class TDataStd  {

public:

    void* operator new(size_t,void* anAddress) 
      {
        return anAddress;
      }
    void* operator new(size_t size) 
      { 
        return Standard::Allocate(size); 
      }
    void  operator delete(void *anAddress) 
      { 
        if (anAddress) Standard::Free((Standard_Address&)anAddress); 
      }
 // Methods PUBLIC
 // 

//! Appends to <anIDList> the list of the attributes <br>
//!          IDs of this package. CAUTION: <anIDList> is NOT <br>
//!          cleared before use. <br>//! Print of TDataStd enumeration <br>
//!          ============================= <br>
Standard_EXPORT static  void IDList(TDF_IDList& anIDList) ;


Standard_EXPORT static  Standard_OStream& Print(const TDataStd_GeometryEnum GEO,Standard_OStream& S) ;


Standard_EXPORT static  Standard_OStream& Print(const TDataStd_RealEnum DIM,Standard_OStream& S) ;


Standard_EXPORT static  Standard_OStream& Print(const TDataStd_ConstraintEnum CTR,Standard_OStream& S) ;





protected:

 // Methods PROTECTED
 // 


 // Fields PROTECTED
 //


private: 

 // Methods PRIVATE
 // 


 // Fields PRIVATE
 //

friend class TDataStd_Current;
friend class TDataStd_Name;
friend class TDataStd_Comment;
friend class TDataStd_Integer;
friend class TDataStd_IntegerArray;
friend class TDataStd_Real;
friend class TDataStd_RealArray;
friend class TDataStd_ExtStringArray;
friend class TDataStd_UAttribute;
friend class TDataStd_Position;
friend class TDataStd_Constraint;
friend class TDataStd_Placement;
friend class TDataStd_Geometry;
friend class TDataStd_Point;
friend class TDataStd_Axis;
friend class TDataStd_Plane;
friend class TDataStd_Pattern;
friend class TDataStd_PatternStd;
friend class TDataStd_TreeNode;
friend class TDataStd_ChildNodeIterator;
friend class TDataStd_Directory;
friend class TDataStd_Shape;
friend class TDataStd_NoteBook;
friend class TDataStd_Expression;
friend class TDataStd_Relation;
friend class TDataStd_Variable;
friend class TDataStd_DeltaOnModificationOfIntArray;
friend class TDataStd_DeltaOnModificationOfRealArray;
friend class TDataStd_DeltaOnModificationOfExtStringArray;
friend class TDataStd_DeltaOnModificationOfIntPackedMap;
friend class TDataStd_DeltaOnModificationOfByteArray;
friend class TDataStd_Tick;
friend class TDataStd_AsciiString;
friend class TDataStd_IntPackedMap;
friend class TDataStd_IntegerList;
friend class TDataStd_RealList;
friend class TDataStd_ExtStringList;
friend class TDataStd_BooleanList;
friend class TDataStd_ReferenceList;
friend class TDataStd_BooleanArray;
friend class TDataStd_ReferenceArray;
friend class TDataStd_ByteArray;
friend class TDataStd_NamedData;
friend class TDataStd_Array1OfTrsf;
friend class TDataStd_HArray1OfTrsf;
friend class TDataStd_ListOfExtendedString;
friend class TDataStd_ListOfByte;
friend class TDataStd_Array1OfByte;
friend class TDataStd_HArray1OfByte;
friend class TDataStd_LabelArray1;
friend class TDataStd_HLabelArray1;
friend class TDataStd_DataMapOfStringInteger;
friend class TDataStd_DataMapOfStringReal;
friend class TDataStd_DataMapOfStringString;
friend class TDataStd_DataMapOfStringByte;
friend class TDataStd_DataMapOfStringHArray1OfInteger;
friend class TDataStd_DataMapOfStringHArray1OfReal;
friend class TDataStd_HDataMapOfStringInteger;
friend class TDataStd_HDataMapOfStringReal;
friend class TDataStd_HDataMapOfStringString;
friend class TDataStd_HDataMapOfStringByte;
friend class TDataStd_HDataMapOfStringHArray1OfInteger;
friend class TDataStd_HDataMapOfStringHArray1OfReal;
friend class TDataStd_ListNodeOfListOfExtendedString;
friend class TDataStd_ListIteratorOfListOfExtendedString;
friend class TDataStd_ListNodeOfListOfByte;
friend class TDataStd_ListIteratorOfListOfByte;
friend class TDataStd_DataMapNodeOfDataMapOfStringInteger;
friend class TDataStd_DataMapIteratorOfDataMapOfStringInteger;
friend class TDataStd_DataMapNodeOfDataMapOfStringReal;
friend class TDataStd_DataMapIteratorOfDataMapOfStringReal;
friend class TDataStd_DataMapNodeOfDataMapOfStringString;
friend class TDataStd_DataMapIteratorOfDataMapOfStringString;
friend class TDataStd_DataMapNodeOfDataMapOfStringByte;
friend class TDataStd_DataMapIteratorOfDataMapOfStringByte;
friend class TDataStd_DataMapNodeOfDataMapOfStringHArray1OfInteger;
friend class TDataStd_DataMapIteratorOfDataMapOfStringHArray1OfInteger;
friend class TDataStd_DataMapNodeOfDataMapOfStringHArray1OfReal;
friend class TDataStd_DataMapIteratorOfDataMapOfStringHArray1OfReal;

};





// other Inline functions and methods (like "C++: function call" methods)
//


#endif
