コード例 #1
0
 public static void PushBefore(DoubleLinkNode2 <T> after, DoubleLink2 <T> list)
 {
     if (after.IsAttach() && !list.IsEmpty())
     {
         DoubleLink2 <T> ._PushBefore(after, list);
     }
 }
コード例 #2
0
 public static void PushAfter(DoubleLinkNode2 <T> before, DoubleLink2 <T> list)
 {
     if (before.IsAttach() && !list.IsEmpty())
     {
         DoubleLink2 <T> ._PushAfter(before, list);
     }
 }
コード例 #3
0
        private static void _PushBefore(DoubleLinkNode2 <T> after, DoubleLinkNode2 <T> node)
        {
            DoubleLinkNode2 <T> ptr = after._pre;

            UnityEngine.Debug.Assert(ptr != null);
            DoubleLink2 <T> ._Link(ptr, node);

            DoubleLink2 <T> ._Link(node, after);
        }
コード例 #4
0
        private static void _PushAfter(DoubleLinkNode2 <T> before, DoubleLinkNode2 <T> node)
        {
            DoubleLinkNode2 <T> ptr = before._next;

            UnityEngine.Debug.Assert(ptr != null);
            DoubleLink2 <T> ._Link(before, node);

            DoubleLink2 <T> ._Link(node, ptr);
        }
コード例 #5
0
        private static void _PushBefore(DoubleLinkNode2 <T> after, DoubleLink2 <T> list)
        {
            if (!list.IsEmpty())
            {
                DoubleLinkNode2 <T> next = list._root._next;
                DoubleLinkNode2 <T> pre  = list._root._pre;
                DoubleLink2 <T> ._Link(after._pre, next);

                DoubleLink2 <T> ._Link(pre, after);

                list._Init();
            }
        }
コード例 #6
0
        private static void _PushAfter(DoubleLinkNode2 <T> before, DoubleLink2 <T> list)
        {
            if (!list.IsEmpty())
            {
                DoubleLinkNode2 <T> next  = list._root._next;
                DoubleLinkNode2 <T> pre   = list._root._pre;
                DoubleLinkNode2 <T> node3 = before._next;
                DoubleLink2 <T> ._Link(before, next);

                DoubleLink2 <T> ._Link(pre, node3);

                list._Init();
            }
        }
コード例 #7
0
 private void _Init()
 {
     DoubleLink2 <T> ._Link(this._root, this._root);
 }
コード例 #8
0
 public void PushFront(DoubleLinkNode2 <T> node)
 {
     node.Detach();
     DoubleLink2 <T> ._PushAfter(this._root, node);
 }
コード例 #9
0
 public void PushFront(DoubleLink2 <T> list)
 {
     DoubleLink2 <T> ._PushAfter(this._root, list);
 }
コード例 #10
0
 public static void PushBefore(DoubleLinkNode2 <T> after, DoubleLinkNode2 <T> node)
 {
     node.Detach();
     DoubleLink2 <T> ._PushBefore(after, node);
 }
コード例 #11
0
 public void PushBack(DoubleLinkNode2 <T> node)
 {
     node.Detach();
     DoubleLink2 <T> ._PushBefore(this._root, node);
 }
コード例 #12
0
 public void PushBack(DoubleLink2 <T> list)
 {
     DoubleLink2 <T> ._PushBefore(this._root, list);
 }
コード例 #13
0
 public static void PushAfter(DoubleLinkNode2 <T> before, DoubleLinkNode2 <T> node)
 {
     node.Detach();
     DoubleLink2 <T> ._PushAfter(before, node);
 }