summaryrefslogtreecommitdiff
path: root/src/hashcomp.cpp
AgeCommit message (Collapse)Author
2006-09-19Use ++x not x++, to more closely match what stl doesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5299 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-19ULTRA FAST HASH FUNCTION :pbrain
I went and looked how hash_fun.h in STL did it, to save a string copy :p (it's deceptively simple too) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5298 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-17Turn irc::commasepstream into a base class, irc::sepstream, inherit two ↵brain
classes from it: irc::commasepstream and irc::spacesepstream, to be used for the most common token seperators "," and " " git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5266 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-10Move Spacify() into irc:: namespace as multiple modules use it nowbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5200 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-09I'll give you ##TOAST, :pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5189 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03We now have a test module that can dump someones certificate information: ↵brain
/sslinfo <nick> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5125 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-28Move trailing space stripping to only strip from non-last-item values (dont ask)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5049 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18Move lowermap[] into a pre-initialised const array in hashcomp.h,brain
get rid of InspIRCd::MakeLowertab() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4951 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Just to mess with om's head, remove helperfuncs.h from everywherebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Move whowas into InspIRCdbrain
Tidy up lowermap extern (for now, we cant do much but have this as extern) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4876 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Make it more readablebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4853 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Much faster hash<string> for case-insensitive hashing, combined copy and ↵brain
lowercase operation git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4852 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Move strlower into nspace namespace where hash<std::string> livesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4850 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Move the socket functions like insp_ntoa into their own namespace. They ↵brain
arent really sensible to put into a class, but namespacing them out discourages developers from directly using them without explicitly saing 'using irc::sockets::BindPorts' or whatever first. Some functions such as insp_ntoa are already 'exposed' by headers that use them so 'using irc::sockets::inet_ntoa' isnt required. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4828 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Remove trailing spaces from input in irc::ircsepstreambrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4759 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01The IPV6 stuff compiles now, with compile-correct ipv6 code. I dont know if ↵brain
this works yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4611 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01Move to entirely using insp_sockaddr and insp_inaddr for socket stuff, first ↵brain
step on the road to ipv6 support git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4609 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16Created new class irc::commasepstream.brain
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-16const the std::string reference in tokenstream's constructorom
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4400 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16Improved this a lotbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4398 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16This should be faster, we read it like a stream now with GetToken until ↵brain
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-16irc::tokenstream is a token parser which using std::string and std::vector ↵brain
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-15Removed GCC2 checks as we havent supported gcc2 for yearsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4394 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-06Holy christ that was a LOT OF SPACES. TABS, USE THEM, LOVE THEM, APPRECIATE ↵w00t
THEM - we now have no stupid spaces. This was mostly a mass find/replace, so some indentation may be stuffed. Minor issue, though. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3838 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-21Tidyup: (unsigned) cast to more explicit (unsigned char)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3746 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09Changed to unsigned char to get rid of warningsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3598 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09lowertab -> lowermapbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3597 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09Improved strhashcomp with no allocationsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3596 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-19AIEEE fucking overloaded operatorsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3263 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-19More tweaksbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3262 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-19Tweaksbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3261 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-19Added + and == operators between std::string and irc::string.brain
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-03Add operators >> and << for irc::string and i/ostreams. m_cban utilises thisom
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3066 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-03Improved inaddr_hashcompbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3040 e03df62e-2008-0410-955e-edbf42e46eb7
2006-01-15Updated copyrights in headers etc using perl inplace editbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2795 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-30Started on -Wall - safe compilebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1570 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-29Fixed lengthsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1547 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-28Fixed fd_Setsize in cygwinbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1541 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15Changed to use __single_client_alloc, faster on most systems in a single threadbrain
Specified namespace std in *all* files git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1404 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15Updated to keep lowermap const within hashcomp.cppbrain
Updated docs git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1401 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15Updated strhashcomp to use irc::string internally rather than a combination ↵brain
of strlower and strcasecmp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1400 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15Moved StrHashComp and InAddr_HashComp into the irc:: namespacebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1398 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15Added irc::stringbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1394 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15Added comments to hashcomp.cppbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1389 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15GCC 3.4/4.0 fixesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1388 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15sorted hashcomp etcbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1387 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15Making sure this is compatible with GCC3.4/4.xbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1386 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15(Untested) added hashcomp.cpp, seperates out the stl hash_map stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1384 e03df62e-2008-0410-955e-edbf42e46eb7