+template < typename T >
+inline
+std::ostream& operator<< (std::ostream& os, CIndiceMagico<T>& im)
+{
+ unsigned c = im.count();
+#ifdef LOG
+ if (c-- == 0) return os << "";
+ for (unsigned i = 0; i < c; ++i)
+ os << im[i] << ",";
+ os << im[c];
+ return os;
+#else // ! LOG
+ if (c == 0) return os << "\t\tvacío\n";
+ for (unsigned i = 0; i < c; ++i)
+ os << "\t\t" << im.keys(i) << ":\t" << im[i] << "\n";
+ return os;
+#endif // LOG
+}
+
+template < typename T >
+inline
+std::ostream& operator<< (std::ostream& os, CIndiceMagico<T*>& im)
+{
+ unsigned c = im.count();
+#ifdef LOG
+ if (c-- == 0) return os << "";
+ for (unsigned i = 0; i < c; ++i)
+ os << *im[i] << ",";
+ os << *im[c];
+ return os;
+#else // ! LOG
+ if (c == 0) return os << "\t\tvacío\n";
+ for (unsigned i = 0; i < c; ++i)
+ os << "\t\t" << im.keys(i) << ":\t" << *im[i] << "\n";
+ return os;
+#endif // LOG
+}