@@ -74,35 +74,35 @@ class MetaString
7474 char data[MAX_SQL_IDENTIFIER_SIZE];
7575 unsigned int count;
7676
77- void init ()
77+ void init () noexcept
7878 {
7979 memset (data, 0 , MAX_SQL_IDENTIFIER_SIZE);
8080 }
81- MetaString& set (const MetaString& m)
81+ MetaString& set (const MetaString& m) noexcept
8282 {
8383 memcpy (data, m.data , MAX_SQL_IDENTIFIER_SIZE);
8484 count = m.count ;
8585 return *this ;
8686 }
8787
8888public:
89- MetaString () { init (); count = 0 ; }
90- MetaString (const char * s) { assign (s); }
91- MetaString (const char * s, FB_SIZE_T l) { assign (s, l); }
92- MetaString (const MetaString& m) { set (m); }
93- MetaString (const AbstractString& s) { assign (s.c_str (), s.length ()); }
94- explicit MetaString (MemoryPool&) { init (); count = 0 ; }
95- MetaString (MemoryPool&, const char * s) { assign (s); }
96- MetaString (MemoryPool&, const char * s, FB_SIZE_T l) { assign (s, l); }
97- MetaString (MemoryPool&, const MetaString& m) { set (m); }
98- MetaString (MemoryPool&, const AbstractString& s) { assign (s.c_str (), s.length ()); }
89+ MetaString () noexcept { init (); count = 0 ; }
90+ MetaString (const char * s) noexcept { assign (s); }
91+ MetaString (const char * s, FB_SIZE_T l) noexcept { assign (s, l); }
92+ MetaString (const MetaString& m) noexcept { set (m); }
93+ MetaString (const AbstractString& s) noexcept { assign (s.c_str (), s.length ()); }
94+ explicit MetaString (MemoryPool&) noexcept { init (); count = 0 ; }
95+ MetaString (MemoryPool&, const char * s) noexcept { assign (s); }
96+ MetaString (MemoryPool&, const char * s, FB_SIZE_T l) noexcept { assign (s, l); }
97+ MetaString (MemoryPool&, const MetaString& m) noexcept { set (m); }
98+ MetaString (MemoryPool&, const AbstractString& s) noexcept { assign (s.c_str (), s.length ()); }
9999
100100public:
101101 static void parseList (const string& str, ObjectsArray<MetaString>& list)
102102 {
103103 auto pos = str.begin ();
104104
105- const auto skipSpaces = [&pos, &str]
105+ const auto skipSpaces = [&pos, &str]() noexcept
106106 {
107107 while (pos != str.end () && (*pos == ' ' || *pos == ' \t ' || *pos == ' \f ' || *pos == ' \r ' || *pos == ' \n ' ))
108108 ++pos;
@@ -213,52 +213,52 @@ class MetaString
213213 }
214214
215215public:
216- MetaString& assign (const char * s, FB_SIZE_T l);
217- MetaString& assign (const char * s) { return assign (s, s ? fb_strlen (s) : 0 ); }
218- MetaString& clear () { return assign (nullptr , 0 ); }
219- MetaString& operator =(const char * s) { return assign (s); }
220- MetaString& operator =(const AbstractString& s) { return assign (s.c_str (), s.length ()); }
221- MetaString& operator =(const MetaString& m) { return set (m); }
222- char * getBuffer (const FB_SIZE_T l);
223-
224- FB_SIZE_T length () const { return count; }
225- const char * c_str () const { return data; }
226- const char * nullStr () const { return (count == 0 ? NULL : data); }
227- bool isEmpty () const { return count == 0 ; }
228- bool hasData () const { return count != 0 ; }
229-
230- char & operator [](unsigned n) { return data[n]; }
231- char operator [](unsigned n) const { return data[n]; }
232-
233- const char * begin () const { return data; }
234- const char * end () const { return data + count; }
235-
236- int compare (const char * s, FB_SIZE_T l) const ;
237- int compare (const char * s) const { return compare (s, s ? fb_strlen (s) : 0 ); }
238- int compare (const AbstractString& s) const { return compare (s.c_str (), s.length ()); }
239- int compare (const MetaString& m) const { return memcmp (data, m.data , MAX_SQL_IDENTIFIER_SIZE); }
216+ MetaString& assign (const char * s, FB_SIZE_T l) noexcept ;
217+ MetaString& assign (const char * s) noexcept { return assign (s, s ? fb_strlen (s) : 0 ); }
218+ MetaString& clear () noexcept { return assign (nullptr , 0 ); }
219+ MetaString& operator =(const char * s) noexcept { return assign (s); }
220+ MetaString& operator =(const AbstractString& s) noexcept { return assign (s.c_str (), s.length ()); }
221+ MetaString& operator =(const MetaString& m) noexcept { return set (m); }
222+ char * getBuffer (const FB_SIZE_T l) noexcept ;
223+
224+ FB_SIZE_T length () const noexcept { return count; }
225+ const char * c_str () const noexcept { return data; }
226+ const char * nullStr () const noexcept { return (count == 0 ? NULL : data); }
227+ bool isEmpty () const noexcept { return count == 0 ; }
228+ bool hasData () const noexcept { return count != 0 ; }
229+
230+ char & operator [](unsigned n) noexcept { return data[n]; }
231+ char operator [](unsigned n) const noexcept { return data[n]; }
232+
233+ const char * begin () const noexcept { return data; }
234+ const char * end () const noexcept { return data + count; }
235+
236+ int compare (const char * s, FB_SIZE_T l) const noexcept ;
237+ int compare (const char * s) const noexcept { return compare (s, s ? fb_strlen (s) : 0 ); }
238+ int compare (const AbstractString& s) const noexcept { return compare (s.c_str (), s.length ()); }
239+ int compare (const MetaString& m) const noexcept { return memcmp (data, m.data , MAX_SQL_IDENTIFIER_SIZE); }
240240
241241 string toQuotedString () const
242242 {
243243 return Firebird::toQuotedString (*this );
244244 }
245245
246- bool operator ==(const char * s) const { return compare (s) == 0 ; }
247- bool operator !=(const char * s) const { return compare (s) != 0 ; }
248- bool operator ==(const AbstractString& s) const { return compare (s) == 0 ; }
249- bool operator !=(const AbstractString& s) const { return compare (s) != 0 ; }
250- bool operator ==(const MetaString& m) const { return compare (m) == 0 ; }
251- bool operator !=(const MetaString& m) const { return compare (m) != 0 ; }
252- bool operator <=(const MetaString& m) const { return compare (m) <= 0 ; }
253- bool operator >=(const MetaString& m) const { return compare (m) >= 0 ; }
254- bool operator < (const MetaString& m) const { return compare (m) < 0 ; }
255- bool operator > (const MetaString& m) const { return compare (m) > 0 ; }
246+ bool operator ==(const char * s) const noexcept { return compare (s) == 0 ; }
247+ bool operator !=(const char * s) const noexcept { return compare (s) != 0 ; }
248+ bool operator ==(const AbstractString& s) const noexcept { return compare (s) == 0 ; }
249+ bool operator !=(const AbstractString& s) const noexcept { return compare (s) != 0 ; }
250+ bool operator ==(const MetaString& m) const noexcept { return compare (m) == 0 ; }
251+ bool operator !=(const MetaString& m) const noexcept { return compare (m) != 0 ; }
252+ bool operator <=(const MetaString& m) const noexcept { return compare (m) <= 0 ; }
253+ bool operator >=(const MetaString& m) const noexcept { return compare (m) >= 0 ; }
254+ bool operator < (const MetaString& m) const noexcept { return compare (m) < 0 ; }
255+ bool operator > (const MetaString& m) const noexcept { return compare (m) > 0 ; }
256256
257257 void printf (const char *, ...);
258258 FB_SIZE_T copyTo (char * to, FB_SIZE_T toSize) const ;
259259
260260protected:
261- static void adjustLength (const char * const s, FB_SIZE_T& l);
261+ static void adjustLength (const char * const s, FB_SIZE_T& l) noexcept ;
262262};
263263
264264} // namespace Firebird
0 commit comments