blob: 5bbe96d138e939a104094b3d8d16302138e416aa [file]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
#include "CommonDataStructuresPch.h"
#include "DataStructures/Interval.h"
namespace regex
{
bool Interval::Includes(int value) const
{
return (begin <= value) && (end >= value);
}
bool Interval::Includes(Interval other) const
{
return (Includes(other.Begin()) && (Includes(other.End())));
}
int Interval::CompareTo(Interval other)
{
if (begin < other.begin)
{
return -1;
}
else if (begin == other.begin)
{
if (end < other.end)
{
return -1;
}
else if (end == other.end)
{
return 0;
}
else
{
return 1;
}
}
else
{
return 1;
}
}
int Interval::Compare(Interval x, Interval y)
{
return x.CompareTo(y);
}
bool Interval::Equals(Interval other)
{
return CompareTo(other) == 0;
}
bool Interval::Equals(Interval x, Interval y)
{
return x.CompareTo(y) == 0;
}
int Interval::GetHashCode()
{
return _rotl(begin, 7) ^ end;
}
int Interval::GetHashCode(Interval item)
{
return item.GetHashCode();
}
}