Use =default for skeleton copy constructor
[ACE_TAO.git] / ACE / ACEXML / common / AttributesImpl.inl
blob603afa4cd206c92b89bf79641a3761a6a17a3aa5
1 // -*- C++ -*-
2 //
3 #include "ace/ACE.h"
4 #include "ace/OS_NS_string.h"
6 ACEXML_INLINE
7 ACEXML_Attribute::ACEXML_Attribute ()
8   : uri_ (0),
9     localName_ (0),
10     qName_ (0),
11     type_ (0),
12     value_ (0)
16 ACEXML_INLINE
17 ACEXML_Attribute::ACEXML_Attribute (const ACEXML_Attribute &attr)
18   : uri_ (ACE::strnew (attr.uri_)),
19     localName_ (ACE::strnew (attr.localName_)),
20     qName_ (ACE::strnew (attr.qName_)),
21     type_ (ACE::strnew (attr.type_)),
22     value_ (ACE::strnew (attr.value_))
26 ACEXML_INLINE
27 ACEXML_Attribute::ACEXML_Attribute (const ACEXML_Char *uri,
28                                     const ACEXML_Char *localName,
29                                     const ACEXML_Char *qName,
30                                     const ACEXML_Char *type,
31                                     const ACEXML_Char *value)
32   : uri_ (ACE::strnew (uri)),
33     localName_ (ACE::strnew (localName)),
34     qName_ (ACE::strnew (qName)),
35     type_ (ACE::strnew (type)),
36     value_ (ACE::strnew (value))
40 ACEXML_INLINE
41 ACEXML_Attribute::~ACEXML_Attribute ()
43   delete[] this->uri_;
44   delete[] this->localName_;
45   delete[] this->qName_;
46   delete[] this->type_;
47   delete[] this->value_;
50 ACEXML_INLINE const ACEXML_Char *
51 ACEXML_Attribute::uri () const
53   return this->uri_;
56 ACEXML_INLINE void
57 ACEXML_Attribute::uri (const ACEXML_Char *uri)
59   delete[] this->uri_;
60   this->uri_ = ACE::strnew (uri);
63 ACEXML_INLINE const ACEXML_Char *
64 ACEXML_Attribute::localName () const
66   return this->localName_;
69 ACEXML_INLINE void
70 ACEXML_Attribute::localName (const ACEXML_Char *localName)
72   delete[] this->localName_;
73   this->localName_ = ACE::strnew (localName);
76 ACEXML_INLINE const ACEXML_Char *
77 ACEXML_Attribute::qName () const
79   return this->qName_;
82 ACEXML_INLINE void
83 ACEXML_Attribute::qName (const ACEXML_Char *qName)
85   delete[] this->qName_;
86   this->qName_ = ACE::strnew (qName);
89 ACEXML_INLINE const ACEXML_Char *
90 ACEXML_Attribute::type () const
92   return this->type_;
95 ACEXML_INLINE void
96 ACEXML_Attribute::type (const ACEXML_Char *type)
98   delete[] this->type_;
99   this->type_ = ACE::strnew (type);
102 ACEXML_INLINE const ACEXML_Char *
103 ACEXML_Attribute::value () const
105   return this->value_;
108 ACEXML_INLINE void
109 ACEXML_Attribute::value (const ACEXML_Char *value)
111   delete[] this->value_;
112   this->value_ = ACE::strnew (value);
115 ACEXML_INLINE void
116 ACEXML_Attribute::setAttribute (const ACEXML_Char *uri,
117                                 const ACEXML_Char *localName,
118                                 const ACEXML_Char *qName,
119                                 const ACEXML_Char *type,
120                                 const ACEXML_Char *value)
122   this->uri (uri);
123   this->qName (qName);
124   this->localName (localName);
125   this->type (type);
126   this->value (value);
129 ACEXML_INLINE ACEXML_Attribute &
130 ACEXML_Attribute::operator= (const ACEXML_Attribute &rhs)
132   if (this != &rhs)             // Check for self assignment
133     {
134       this->uri (rhs.uri ());
135       this->qName (rhs.qName ());
136       this->localName (rhs.localName ());
137       this->type (rhs.type ());
138       this->value (rhs.value ());
139     }
140   return *this;
143 ACEXML_INLINE bool
144 ACEXML_Attribute::operator!= (const ACEXML_Attribute &rhs) const
146   return (ACE_OS::strcmp (this->uri_, rhs.uri ()) == 0 &&
147           ACE_OS::strcmp (this->localName_, rhs.localName ()) == 0 &&
148           ACE_OS::strcmp (this->qName_, rhs .qName ()) == 0 &&
149           ACE_OS::strcmp (this->type_, rhs.type ()) == 0 &&
150           ACE_OS::strcmp (this->value_, rhs.value ()) == 0 ? false : true);