summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/hashcomp.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/hashcomp.h b/include/hashcomp.h
index 013523df3..11a491d62 100644
--- a/include/hashcomp.h
+++ b/include/hashcomp.h
@@ -333,10 +333,22 @@ namespace irc
/** Ending port in a range of ports
*/
long range_end;
+ /** Allow overlapped port ranges
+ */
+ bool overlapped;
+ /** Used to determine overlapping of ports
+ * without O(n) algorithm being used
+ */
+ std::map<long, bool> overlap_set;
+ /** Returns true if val overlaps an existing range
+ */
+ bool Overlaps(long val);
public:
/** Create a portparser and fill it with the provided data
+ * @param source The source text to parse from
+ * @param allow_overlapped Allow overlapped ranges
*/
- portparser(const std::string &source);
+ portparser(const std::string &source, bool allow_overlapped = true);
/** Frees the internal commasepstream object
*/
~portparser();