22#define xrstringH
33#pragma once
44
5+ // TODO: tamlin: Get rid of _std_extensions.h as compile-time dependency, if possible.
56#include " _std_extensions.h"
67
78#pragma pack(push, 4)
89// ////////////////////////////////////////////////////////////////////////
10+ // TODO: tamlin: Get rid of this blobal namespace polluting silly typedef.
911typedef const char * str_c;
1012
1113// ////////////////////////////////////////////////////////////////////////
@@ -168,10 +170,10 @@ IC bool operator<(shared_str const& a, shared_str const& b) { return a._get() <
168170IC bool operator >(shared_str const & a, shared_str const & b) { return a._get () > b._get (); }
169171// externally visible standart functionality
170172IC void swap (shared_str& lhs, shared_str& rhs) { lhs.swap (rhs); }
171- IC u32 xr_strlen (shared_str& a) { return a.size (); }
172- IC int xr_strcmp (const shared_str& a, const char * b) { return xr_strcmp (*a, b); }
173- IC int xr_strcmp (const char * a, const shared_str& b) { return xr_strcmp (a, *b); }
174- IC int xr_strcmp (const shared_str& a, const shared_str& b)
173+ IC u32 xr_strlen (const shared_str& a) throw( ) { return a.size (); }
174+ IC int xr_strcmp (const shared_str& a, const char * b) throw() { return xr_strcmp (*a, b); }
175+ IC int xr_strcmp (const char * a, const shared_str& b) throw() { return xr_strcmp (a, *b); }
176+ IC int xr_strcmp (const shared_str& a, const shared_str& b) throw()
175177{
176178 if (a.equal (b))
177179 return 0 ;
@@ -194,6 +196,8 @@ IC void xr_strlwr(shared_str& src)
194196 }
195197}
196198
199+ #pragma todo("tamlin: Move xr_strlwr into a static lib (f.ex. 'xrMisc_lib')")
200+
197201#pragma pack(pop)
198202
199203#endif
0 commit comments