26class NodePointerTo :
public NodePointerToBase<T> {
31 typedef typename NodePointerToBase<T>::To To;
32 INLINE NodePointerTo(To *ptr =
nullptr);
33 INLINE NodePointerTo(
const NodePointerTo<T> ©);
34 INLINE NodePointerTo(NodePointerTo<T> &&from)
noexcept;
36 INLINE NodePointerTo<T> &operator = (NodePointerTo<T> &&from)
noexcept;
38 INLINE To &operator *()
const;
39 INLINE To *operator -> ()
const;
42 INLINE
operator T *()
const;
46 INLINE NodePointerTo<T> &operator = (To *ptr);
47 INLINE NodePointerTo<T> &operator = (
const NodePointerTo<T> ©);
57class NodeConstPointerTo :
public NodePointerToBase<T> {
62 typedef typename NodePointerToBase<T>::To To;
63 INLINE NodeConstPointerTo(
const To *ptr =
nullptr);
65 INLINE NodeConstPointerTo(
const NodeConstPointerTo<T> ©);
67 INLINE NodeConstPointerTo(NodeConstPointerTo<T> &&from)
noexcept;
70 INLINE NodeConstPointerTo<T> &operator = (NodeConstPointerTo<T> &&from)
noexcept;
72 INLINE
const To &operator *()
const;
73 INLINE
const To *operator -> ()
const;
74 INLINE
operator const T *()
const;
76 INLINE
const To *
p()
const;
78 INLINE NodeConstPointerTo<T> &operator = (
const To *ptr);
80 INLINE NodeConstPointerTo<T> &operator = (
const NodeConstPointerTo<T> ©);