};
template <class T>
-#if defined(__uxp__) || defined(_IBMR2) || defined(__osf__) || defined(USL) || defined(linux)
+#if defined(__uxp__) || defined(_IBMR2) || defined(__osf__) || defined(USL) || defined(linux) || defined(CSRG_BASED)
class xList : public List_base
#else
class xList : private List_base
#ifdef SC3
friend class List_Iterator<T>;
#else
-#if !defined(_IBMR2) && !defined(__osf__) && !defined(USL) && !defined(linux)
+#if !defined(_IBMR2) && !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
template <class T> friend class List_Iterator;
#endif
#endif
template <class T>
-#if defined(_IBMR2) || defined(__osf__) || defined(linux)
+#if defined(_IBMR2) || defined(__osf__) || defined(linux) || defined(CSRG_BASED)
class List_Iterator : public List_Iterator_base
#else
class List_Iterator : private List_Iterator_base