0022815: Missing delete operator for placement new
[occt.git] / src / LDOM / LDOM_BasicText.hxx
1 // File:      LDOM_BasicText.hxx
2 // Created:   26.07.01 18:44:13
3 // Author:    Alexander GRIGORIEV
4 // Copyright: OpenCascade 2001
5
6
7 #ifndef LDOM_BasicText_HeaderFile
8 #define LDOM_BasicText_HeaderFile
9
10 #include <LDOM_BasicNode.hxx>
11 #include <LDOMBasicString.hxx>
12
13 class LDOM_Node;
14 class LDOM_CharacterData;
15 class LDOMParser;
16 class LDOM_BasicElement;
17
18 //  Class LDOM_BasicText
19 //
20
21 class LDOM_BasicText : public LDOM_BasicNode
22 {
23  public:
24
25   // ---------- PUBLIC METHODS ----------
26
27   LDOM_BasicText () : LDOM_BasicNode (LDOM_Node::UNKNOWN) {}
28   //    Empty constructor
29
30   LDOM_BasicText&       operator =      (const LDOM_NullPtr * aNull);
31   //    Nullify
32
33   const LDOMBasicString& GetData        () const
34                                 { return myValue; }
35
36   void                  SetData         (const LDOMBasicString&         aValue,
37                                          const Handle(LDOM_MemManager)& aDoc)
38                                 { myValue = LDOMString (aValue, aDoc); }
39
40  private:
41   // ---------- PRIVATE METHODS ----------
42   friend class LDOM_Node;
43   friend class LDOMParser;
44   friend class LDOM_Document;
45   friend class LDOM_BasicElement;
46
47   LDOM_BasicText                        (const LDOM_Node::NodeType aType,
48                                          const LDOMBasicString&    aData)
49     : LDOM_BasicNode (aType), myValue (aData) {}
50   // Constructor
51
52   LDOM_BasicText                        (const LDOM_CharacterData& aText);
53
54   static LDOM_BasicText& Create         (const LDOM_Node::NodeType      aType,
55                                          const LDOMBasicString&         aData,
56                                          const Handle(LDOM_MemManager)& aDoc);
57   // Creation
58
59  private:
60   // ---------- PRIVATE FIELDS ----------
61
62   LDOMBasicString       myValue;
63 };
64
65 #endif