Commit graph

75 commits

Author SHA1 Message Date
Gabriele Tozzi
530790c8f8 Comparison operators refactor: better handle weird cases, cleaning
- obj.isLesserThan() and obj.ieEqual() are now replaced by < and ==
- Removed obsolete isLT(), isLE(), isGT(), isGE()
- Also implemented comparison operators for BObjectImp
- These operators may now be fully overriden in child classes
- Default implementations are derived from == and < operators
- As a general rule (that fit into "undefined" behavior":
-- Objects are == if having the same address
-- Objects are < based on their type ID, except of Error and Uninit
   that always are < everything else.
-- Objects are supposed to implement their own < and fall back to
   base class. If not implemented, as a last fallback, the object's
   address in memory is used to do the comparison
- Added test case for comparison operators
2016-01-24 22:22:45 +01:00
Gabriele Tozzi
e63f2b7969 Merge branch 'stable' 2015-12-26 13:59:37 +01:00
Gabriele Tozzi
68623f34e6 Fixed: Bug in String.format()
String tags were not correctly processed.
"{name} you hit level {level}".format(struct{name:="Jane Doe", level:=4})
now correctly formats as "Jane Doe you hit level 4" instead of
"Jane Doe you hit level <invalid index: #2>"
2015-12-26 13:55:57 +01:00
Thomas Volkert
f32001a63d Avoid compiler warnings 2015-11-01 01:04:29 +01:00
turley
c755d44e75 Added: array.cycle([count])
will move array backwards or forwards in-place as it were a conveyor belt.
{1, 2, 3}.cycle()
Will make it:
{3, 1, 2}
Accepts a negative value as a shift to move different direction
Changed: string.format()
Now actually faster than string concatenation in eScript
Fixes a bug where {:d} formating could cause an arbitrary number shown instead of a real value
tag errors are slightly more intuitive and compact.
Note: Patches submitted by andenixa
2015-07-27 19:17:49 +02:00
frozenblit
943b820eba More and more cleanups
Added some missing include guards, corrected wrong include guard names.
Removed more stl_inc.h includes.
2014-11-02 19:40:40 +01:00
turley
f96a925d1e fixed possible endless loop in str replace (thx andenixa) 2014-03-15 10:49:44 +00:00
turley
4227fae36d fixed logoff of party leader with enabled RemoveMemberOnLogoff
fixed namespaces and debug build
some code cleanup
2013-12-28 09:51:37 +00:00
turley
99d7dc3037 namespaces...finally :)
Hard part is finished every file is touched. Namespaces are currently rough named by directory name.
Maybe we could split it more
2013-12-21 09:10:46 +00:00
frozenblit
4ebf3186a7 isalnum() expects an unsigned char... 2013-09-22 00:34:22 +00:00
turley
b0338db350 some c++11 changes 2013-09-21 09:45:04 +00:00
frozenblit
0b552ea6cf Fixed unsigned/signed comparison in string.formatter() 2013-09-03 20:25:50 +00:00
turley
593bea8cea the first version of the leak fix was of cause to easy... 2013-08-31 16:27:31 +00:00
frozenblit
4fed077538 Added string formatter from andenixa. Missing: write tests!
(http://forums.polserver.com/viewtopic.php?f=41&t=5078)
2013-08-27 22:11:09 +00:00
turley
3a37cd1006 Added: string methods:
str.length() : returns like len(str) the length of the string
str.upper() : returns like upper(str) the uppercase version and also modifies the str
str.lower() : returns like lower(str) the lowercase version and also modifies the str
str.find(Search,[Start]) : returns like Find(string, search, start) the index of the first occurance of 'search' after 'start' within str
but unlike the basic.em function the Start parameter is optional if not given it searches the whole string
str.join(array) : returns a string which is the concatenation of the array elements, seperated by str
2012-11-16 16:27:26 +00:00
turley
53f03c3413 removed some unsused files
shrinked release build
2012-08-28 06:40:06 +00:00
turley
289c35b23a drunken coder fix for += and strings 2012-01-14 11:27:01 +00:00
turley
65d51103fa major rewrite of primitive operators
major speedup of +=,-=,...
2012-01-03 11:32:26 +00:00
turley
4e7e400254 64bit compilation.. 2011-12-23 13:28:38 +00:00
turley
e10cd27cea sync: shini - long to int (prerequisit for 64-bit) 2010-03-29 14:52:03 +00:00
turley
f5087133c6 Fixed: Trim: left&right doesnt return empty string if complete string has to be trimmed 2010-03-17 16:18:52 +00:00
turley
8084d7c0e4 more cleanup
+pre-incrementing of iters is faster
2009-10-07 10:55:39 +00:00
muaddib_pol
631ed68c4a + All projects now using literal paths for includes.
+ Disabled Compiler warning 4244 in VS for str.cpp and strutil.cpp due to fact they are false warnings there.
2009-09-12 23:51:20 +00:00
muaddib_pol
4f01460d16 + bscript project upgrade to use literal paths. Removed include of ".."
+ Couple format/cleanup
2009-09-11 12:15:05 +00:00
muaddib_pol
d032ee448f + POL is now, open source. 2009-09-03 19:44:42 +00:00