Core::Math::Range handles the Range Class
Range are similar to that of arrays, but instead of storing each value individually, it stores a lower bound and higher bound, and fills in the gaps
This is very useful for performance and memory issues regarding large sets of arrays
Range(Template Both)
A constructor that set both lower bound and upper bound to both the same number as inclusive. [Both, Both]
Range(Template LowerBound, Template HigherBound)
A constructor that set's lower bound to LowerBound as an inclusive and upper bound to HigherBound as an exclusive. [LowerBound, HigherBound)
Range(RangeBound(T) LowerBound, RangeBound(T) HigherBound)
A constructor that sets the LowerBound and HigherBound based on the RangeBound Class
bool IsAdjoint(Range Second)
Checks both the parent Range and the second Range and returns if it's Adjointed
bool Contains(Template Value)
Returns true if the Range contans a value