69 Commits

Author SHA1 Message Date
brain
085cd4278f Created new class irc::commasepstream.
Will read comma seperated lists and works identically to irc::tokenstream
It's re-entrant so we can run two of them together for JOIN


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4412 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 15:08:59 +00:00
om
c195e03e61 const the std::string reference in tokenstream's constructor
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4400 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 07:23:03 +00:00
brain
ef10f984fa This should be faster, we read it like a stream now with GetToken until GetToken returns "".
The optimizations done by gcc means theres only one std::string constructor call per token, which is mmm yum.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4397 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 02:09:58 +00:00
brain
6ab0b94dce irc::tokenstream is a token parser which using std::string and std::vector builds a list of tokens using irc parsing rules.
e.g.:
:arse PRIVMSG #chan :foo bar baz
becomes
a[0] = ":arse", a[1] = "PRIVMSG", a[2] = "#chan", a[3] = "foo bar baz".

*** SOMEONE *** needs to optimize this or at least verify its neatness (without making it total craq and unreadable). Feel free to mess with my code.
Any optimizations you make, run them against the COMMENTED OUT TEST SUITE at the top of main() in src/inspircd.cpp and ensure ALL output is the same
with no crashes. (note: if you comment out and build with the test suite, all inspircd will do is output test data and exit!)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4396 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 01:40:58 +00:00
brain
40ef7ec1b6 3.3 -> 3.4 fix (the 3.3 stuff was actually craq)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4393 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14 21:29:23 +00:00
om
9063972162 Routing more socket includes through socket.h
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3868 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-10 22:16:34 +00:00
brain
bb7ff3b7b6 AIEEE fucking overloaded operators
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3263 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-19 23:21:41 +00:00
brain
8942c3cd32 Tweaks
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3261 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-19 23:17:17 +00:00
brain
f0610a1fa2 Added + and == operators between std::string and irc::string.
Its too late at night to wrestle with the = operator, this can wait for another time.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3260 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-19 23:14:37 +00:00
om
ca549070d9 Add operators >> and << for irc::string and i/ostreams. m_cban utilises this
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3066 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-03 22:40:10 +00:00
brain
1383dba43e Updated copyrights in headers etc using perl inplace edit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2795 e03df62e-2008-0410-955e-edbf42e46eb7
2006-01-15 15:59:11 +00:00
brain
d5fed3976b Updated to keep lowermap const within hashcomp.cpp
Updated docs


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1401 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15 19:33:39 +00:00
brain
7631775095 Updated strhashcomp to use irc::string internally rather than a combination of strlower and strcasecmp
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1400 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15 19:27:38 +00:00
brain
636f32fcd0 Moved StrHashComp and InAddr_HashComp into the irc:: namespace
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1398 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15 18:35:39 +00:00
brain
a48ee868ed Added comments for doxygen
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1395 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15 17:01:47 +00:00
brain
a79130a1e1 Added irc::string
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1394 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15 16:44:44 +00:00
brain
c4a230243f sorted hashcomp etc
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1387 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15 04:21:31 +00:00
brain
eb7125445e (Untested) added hashcomp.cpp, seperates out the stl hash_map stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1384 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15 03:17:33 +00:00
brain
eb4229deed Moved a ton of functions into helperfuncs.h to speed up recompiles
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1383 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15 03:03:23 +00:00