+// Print
+/**
+ * \brief canonical Printer
+ */
+void SeqEntry::Print( std::ostream &os, std::string const & )
+{
+ // First, Print the Dicom Element itself.
+ os << "S ";
+ DocEntry::Print(os);
+ os << std::endl;
+
+ if (GetReadLength() == 0)
+ return;
+
+ // Then, Print each SQ Item
+ for(ListSQItem::iterator cc = Items.begin(); cc != Items.end(); ++cc)
+ {
+ (*cc)->SetPrintLevel(PrintLevel);
+ (*cc)->Print(os);
+ }
+
+ // at end, print the sequence terminator item, if any
+ if (DelimitorMode)
+ {
+ for ( int i = 0; i < SQDepthLevel; i++ )
+ {
+ os << " | " ;
+ }
+ if (SeqTerm != NULL)
+ {
+ SeqTerm->SetPrintLevel(PrintLevel);
+ SeqTerm->Print(os);
+ os << std::endl;
+ }
+ else
+ {
+ // fuse
+ gdcmWarningMacro(" -------- should have a sequence terminator item");
+ }
+ }
+}
+
+//-----------------------------------------------------------------------------
+} // end namespace gdcm