Exemplo n.º 1
0
        public IEnumerable <Mark> GetMarks(int headIndex, int tailIndex, MarkKindEnums markKind)
        {
            var marks = from mrk in _markList
                        where isTargetMark(headIndex, tailIndex, mrk, markKind)
                        select mrk;

            return(marks);
        }
Exemplo n.º 2
0
        public IEnumerable<Mark> GetMarks(int headIndex, int tailIndex, MarkKindEnums markKind)
        {
            var marks = from mrk in _markList
                        where isTargetMark(headIndex, tailIndex, mrk, markKind)
                        select mrk;

            return marks;
        }
Exemplo n.º 3
0
        private bool isTargetMark(int headIndex, int tailIndex, Mark mark, MarkKindEnums kind)
        {
            if (GetMarkKind(mark) != kind)
            {
                return(false);
            }

            if (headIndex > mark.TailCharIndex)
            {
                return(false);
            }

            if (tailIndex < mark.HeadCharIndex)
            {
                return(false);
            }

            return(true);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 先頭と末尾によってキャッシュを作成します。これを作成することで検索速度が上がります
        /// </summary>
        /// <param name="headIndex"></param>
        /// <param name="tailIndex"></param>
        public void FocusOnRange(int headIndex, int tailIndex, MarkKindEnums kind)
        {
            var regionMarks = GetMarks(headIndex, tailIndex, kind);

            _markCache.GenerateCache(regionMarks, headIndex, tailIndex);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 先頭と末尾によってキャッシュを作成します。これを作成することで検索速度が上がります
        /// </summary>
        /// <param name="headIndex"></param>
        /// <param name="tailIndex"></param>
        public void FocusOnRange(int headIndex, int tailIndex, MarkKindEnums kind)
        {
            var regionMarks = GetMarks(headIndex, tailIndex, kind);

            _markCache.GenerateCache(regionMarks, headIndex, tailIndex);
        }
Exemplo n.º 6
0
        private bool isTargetMark(int headIndex, int tailIndex, Mark mark, MarkKindEnums kind)
        {
            if (GetMarkKind(mark) != kind)
            {
                return false;
            }

            if (headIndex > mark.TailCharIndex)
            {
                return false;
            }

            if (tailIndex < mark.HeadCharIndex)
            {
                return false;
            }

            return true;
        }