190075Sobrien//===- llvm/ADT/SuffixTreeNode.cpp - Nodes for SuffixTrees --------*- C++
290075Sobrien//-*-===//
396263Sobrien//
490075Sobrien// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
590075Sobrien// See https://llvm.org/LICENSE.txt for license information.
690075Sobrien// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
790075Sobrien//
890075Sobrien//===----------------------------------------------------------------------===//
990075Sobrien//
1090075Sobrien// This file defines nodes for use within a SuffixTree.
1190075Sobrien//
1290075Sobrien//===----------------------------------------------------------------------===//
1390075Sobrien
1490075Sobrien#include "llvm/Support/SuffixTreeNode.h"
1590075Sobrien#include "llvm/Support/Casting.h"
1690075Sobrien
1790075Sobrienusing namespace llvm;
1890075Sobrien
1990075Sobrienunsigned SuffixTreeNode::getStartIdx() const { return StartIdx; }
2090075Sobrienvoid SuffixTreeNode::incrementStartIdx(unsigned Inc) { StartIdx += Inc; }
2190075Sobrienvoid SuffixTreeNode::setConcatLen(unsigned Len) { ConcatLen = Len; }
2290075Sobrienunsigned SuffixTreeNode::getConcatLen() const { return ConcatLen; }
2390075Sobrien
2490075Sobrienbool SuffixTreeInternalNode::isRoot() const {
2590075Sobrien  return getStartIdx() == EmptyIdx;
2690075Sobrien}
2790075Sobrienunsigned SuffixTreeInternalNode::getEndIdx() const { return EndIdx; }
2890075Sobrienvoid SuffixTreeInternalNode::setLink(SuffixTreeInternalNode *L) {
2990075Sobrien  assert(L && "Cannot set a null link?");
3090075Sobrien  Link = L;
3190075Sobrien}
3290075SobrienSuffixTreeInternalNode *SuffixTreeInternalNode::getLink() const { return Link; }
3390075Sobrien
3490075Sobrienunsigned SuffixTreeLeafNode::getEndIdx() const {
3590075Sobrien  assert(EndIdx && "EndIdx is empty?");
3690075Sobrien  return *EndIdx;
3790075Sobrien}
3890075Sobrien
3990075Sobrienunsigned SuffixTreeLeafNode::getSuffixIdx() const { return SuffixIdx; }
4090075Sobrienvoid SuffixTreeLeafNode::setSuffixIdx(unsigned Idx) { SuffixIdx = Idx; }
4190075Sobrien