diff options
Diffstat (limited to 'layout/generic/ScrollGeneration.cpp')
-rw-r--r-- | layout/generic/ScrollGeneration.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/layout/generic/ScrollGeneration.cpp b/layout/generic/ScrollGeneration.cpp new file mode 100644 index 0000000000..5f576187b3 --- /dev/null +++ b/layout/generic/ScrollGeneration.cpp @@ -0,0 +1,49 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "ScrollGeneration.h" + +#include <ostream> + +namespace mozilla { + +template <typename Tag> +ScrollGeneration<Tag>::ScrollGeneration() : mValue(0) {} + +template <typename Tag> +ScrollGeneration<Tag>::ScrollGeneration(uint64_t aValue) : mValue(aValue) {} + +template <typename Tag> +bool ScrollGeneration<Tag>::operator<( + const ScrollGeneration<Tag>& aOther) const { + return mValue < aOther.mValue; +} + +template <typename Tag> +bool ScrollGeneration<Tag>::operator==( + const ScrollGeneration<Tag>& aOther) const { + return mValue == aOther.mValue; +} + +template <typename Tag> +bool ScrollGeneration<Tag>::operator!=( + const ScrollGeneration<Tag>& aOther) const { + return !(*this == aOther); +} + +template <typename Tag> +std::ostream& operator<<(std::ostream& aStream, + const ScrollGeneration<Tag>& aGen) { + return aStream << aGen.mValue; +} + +template struct ScrollGeneration<APZTag>; +template struct ScrollGeneration<MainThreadTag>; + +template std::ostream& operator<<(std::ostream&, + const ScrollGeneration<APZTag>&); +template std::ostream& operator<<(std::ostream&, + const ScrollGeneration<MainThreadTag>&); + +} // namespace mozilla |