summaryrefslogtreecommitdiffstats
path: root/include/hashcomp.h
Commit message (Collapse)AuthorAgeFilesLines
* Add max line length value to modestacker, so that it can clamp the max ↵Gravatar brain2007-02-251-3/+11
| | | | | | length of a composed line to a given size. Defaults to 350 which should be safe with fmode and mode with a server name git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6609 e03df62e-2008-0410-955e-edbf42e46eb7
* Added sepstream::GetRemaining()Gravatar special2007-02-221-0/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6608 e03df62e-2008-0410-955e-edbf42e46eb7
* Ident fixes,Gravatar brain2007-02-071-23/+0
| | | | | | | | removal of some old craq we dont use. cgiirc optimizations and tidyups git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6541 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixed (rewrote) m_http_client's URL parsing, it is now more flexible and.. ↵Gravatar special2007-01-201-0/+5
| | | | | | actually works. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6416 e03df62e-2008-0410-955e-edbf42e46eb7
* Make irc::spacify take 'const char*' instead of 'char*'Gravatar peavey2006-12-161-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6006 e03df62e-2008-0410-955e-edbf42e46eb7
* And now, just to force you to recompile the *whole* ircd.. updated headers ↵Gravatar w00t2006-12-151-5/+2
| | | | | | on the headers. :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
* Change m_watch to use hash_map rather than map, because of the large number ↵Gravatar brain2006-12-131-0/+10
| | | | | | of entries we deal with it will usually be faster git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5979 e03df62e-2008-0410-955e-edbf42e46eb7
* irc::string assign(std::string&)Gravatar brain2006-12-111-0/+3
| | | | | | | | | | std::string assign(irc::string&) soooo: irc::string foo = assign(my_std_string); :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5956 e03df62e-2008-0410-955e-edbf42e46eb7
* bits_size must be protected, not privateGravatar brain2006-11-181-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5764 e03df62e-2008-0410-955e-edbf42e46eb7
* Add \code and \endcode tags for doxygenGravatar brain2006-11-181-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5763 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a major whoopsie in that class i just added. It must be derived using ↵Gravatar brain2006-11-181-7/+46
| | | | | | virtual methods, because each TYPE of bitmask must have its own static allocation of flags. See the (long winded) comments. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5762 e03df62e-2008-0410-955e-edbf42e46eb7
* Reduce size of max number of bytes in a bitfield from a 4 or 8 byte field to ↵Gravatar brain2006-11-181-2/+2
| | | | | | | | | a 1 byte field (unsigned char). This still allows storage of 8*255 bits, which is MORE than enough (for the interested, its 2040 bits) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5761 e03df62e-2008-0410-955e-edbf42e46eb7
* Properly document irc::dynamicbitmaskGravatar brain2006-11-181-3/+70
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5760 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix this so it works, passes test case. Provide a method to query for a bit ↵Gravatar brain2006-11-171-0/+4
| | | | | | and to return the total size in bytes of the bitset git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5758 e03df62e-2008-0410-955e-edbf42e46eb7
* Add irc::dynamicbitmask class. Feel free to take a look and offer ↵Gravatar brain2006-11-171-0/+20
| | | | | | suggestions, as far as i can tell its about as efficient as im going to make it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5757 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow checking of overlapped ports. A bit of sensible thought prevents this ↵Gravatar brain2006-11-111-1/+13
| | | | | | from being O(n^2) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5694 e03df62e-2008-0410-955e-edbf42e46eb7
* Document irc::portparser with comments :-)Gravatar brain2006-11-111-0/+41
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5693 e03df62e-2008-0410-955e-edbf42e46eb7
* Add irc::portparser, a class to parse port ranges in the form ↵Gravatar brain2006-11-111-0/+12
| | | | | | | | | "6660,6661,6662-6669,7000". Needs testing, watch next few commits. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5690 e03df62e-2008-0410-955e-edbf42e46eb7
* Document a ton of classes (e.g. give them a short description for ↵Gravatar brain2006-10-061-5/+7
| | | | | | http://svn.inspircd.org/docs/annotated.html) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5434 e03df62e-2008-0410-955e-edbf42e46eb7
* DocumentGravatar brain2006-10-031-0/+16
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5404 e03df62e-2008-0410-955e-edbf42e46eb7
* New helper class irc::stringjoiner - it pwns you.Gravatar brain2006-10-031-0/+23
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5403 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove testcasesGravatar brain2006-10-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5398 e03df62e-2008-0410-955e-edbf42e46eb7
* mmmm dinner break, oh and document and make use of modestacker.Gravatar brain2006-10-021-0/+41
| | | | | | | Someone test this, i cant as im at work. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5395 e03df62e-2008-0410-955e-edbf42e46eb7
* Add more features to modestacker so that we can stack +, -, and ↵Gravatar brain2006-10-021-0/+3
| | | | | | parameterless modes git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5391 e03df62e-2008-0410-955e-edbf42e46eb7
* More efficient modestackerGravatar brain2006-10-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5390 e03df62e-2008-0410-955e-edbf42e46eb7
* modestacker class, stacks modes and returns a string list of up to MAXMODES ↵Gravatar brain2006-10-021-0/+11
| | | | | | modes git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5389 e03df62e-2008-0410-955e-edbf42e46eb7
* Turn irc::commasepstream into a base class, irc::sepstream, inherit two ↵Gravatar brain2006-09-171-4/+21
| | | | | | 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
* Move Spacify() into irc:: namespace as multiple modules use it nowGravatar brain2006-09-101-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5200 e03df62e-2008-0410-955e-edbf42e46eb7
* We now have a test module that can dump someones certificate information: ↵Gravatar brain2006-09-031-0/+2
| | | | | | /sslinfo <nick> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5125 e03df62e-2008-0410-955e-edbf42e46eb7
* CommentsGravatar brain2006-08-181-13/+16
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4952 e03df62e-2008-0410-955e-edbf42e46eb7
* Move lowermap[] into a pre-initialised const array in hashcomp.h,Gravatar brain2006-08-181-0/+18
| | | | | | | get rid of InspIRCd::MakeLowertab() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4951 e03df62e-2008-0410-955e-edbf42e46eb7
* Document the nspace namespaceGravatar brain2006-08-121-2/+18
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4906 e03df62e-2008-0410-955e-edbf42e46eb7
* Move strlower into nspace namespace where hash<std::string> livesGravatar brain2006-08-101-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4850 e03df62e-2008-0410-955e-edbf42e46eb7
* Move the socket functions like insp_ntoa into their own namespace. They ↵Gravatar brain2006-08-101-0/+3
| | | | | | 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
* Move to entirely using insp_sockaddr and insp_inaddr for socket stuff, first ↵Gravatar brain2006-08-011-4/+4
| | | | | | step on the road to ipv6 support git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4609 e03df62e-2008-0410-955e-edbf42e46eb7
* Document irc::commasepstream and irc::tokenstreamGravatar brain2006-07-161-0/+29
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4414 e03df62e-2008-0410-955e-edbf42e46eb7
* Created new class irc::commasepstream.Gravatar brain2006-07-161-0/+13
| | | | | | | | 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
* const the std::string reference in tokenstream's constructorGravatar om2006-07-161-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4400 e03df62e-2008-0410-955e-edbf42e46eb7
* This should be faster, we read it like a stream now with GetToken until ↵Gravatar brain2006-07-161-4/+5
| | | | | | | | | 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
* irc::tokenstream is a token parser which using std::string and std::vector ↵Gravatar brain2006-07-161-0/+13
| | | | | | | | | | | | | | | | 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
* 3.3 -> 3.4 fix (the 3.3 stuff was actually craq)Gravatar brain2006-07-141-9/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4393 e03df62e-2008-0410-955e-edbf42e46eb7
* Routing more socket includes through socket.hGravatar om2006-04-101-13/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3868 e03df62e-2008-0410-955e-edbf42e46eb7
* AIEEE fucking overloaded operatorsGravatar brain2006-02-191-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3263 e03df62e-2008-0410-955e-edbf42e46eb7
* TweaksGravatar brain2006-02-191-4/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3261 e03df62e-2008-0410-955e-edbf42e46eb7
* Added + and == operators between std::string and irc::string.Gravatar brain2006-02-191-0/+9
| | | | | | | 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
* Add operators >> and << for irc::string and i/ostreams. m_cban utilises thisGravatar om2006-02-031-0/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3066 e03df62e-2008-0410-955e-edbf42e46eb7
* Updated copyrights in headers etc using perl inplace editGravatar brain2006-01-151-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2795 e03df62e-2008-0410-955e-edbf42e46eb7
* Updated to keep lowermap const within hashcomp.cppGravatar brain2005-05-151-5/+9
| | | | | | | Updated docs git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1401 e03df62e-2008-0410-955e-edbf42e46eb7
* Updated strhashcomp to use irc::string internally rather than a combination ↵Gravatar brain2005-05-151-0/+11
| | | | | | of strlower and strcasecmp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1400 e03df62e-2008-0410-955e-edbf42e46eb7
* Moved StrHashComp and InAddr_HashComp into the irc:: namespaceGravatar brain2005-05-151-20/+23
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1398 e03df62e-2008-0410-955e-edbf42e46eb7