OSDN Git Service

ADT: Move ilist_node_access to ilist_detail::NodeAccess...
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Sat, 10 Sep 2016 16:55:06 +0000 (16:55 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Sat, 10 Sep 2016 16:55:06 +0000 (16:55 +0000)
commit2b4de8077ff3bbb2b3c8b4cdab464f5403e26aa5
tree08c74a76aeedc1f786ebe277d20d759c9561c29e
parent631d14e644aa4b7cb033142f30c617701a798765
ADT: Move ilist_node_access to ilist_detail::NodeAccess...

... and make a few ilist-internal API changes, in preparation for
changing how ilist_node is templated.  The only effect for ilist users
should be changing the friend target from llvm::ilist_node_access to
llvm::ilist_detail::NodeAccess (which is only necessary when they
inherit privately from ilist_node).
- Split out SpecificNodeAccess, which has overloads of getNodePtr and
  getValuePtr that are untemplated.
- Use more typedefs to prevent more changes later.
- Force inheritance to use *NodeAccess (to emphasize that ilist *users*
  shouldn't be doing this).

There should be no functionality change here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281142 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ADT/ilist_iterator.h
include/llvm/ADT/ilist_node.h
include/llvm/ADT/simple_ilist.h
unittests/ADT/IListSentinelTest.cpp
unittests/ADT/IListTest.cpp