MeVisLab Toolbox Reference
DCMTree::Message Class Reference

Class to hold data of an DICOM message that is not part of the message itself. More...

#include <DCMTree_Message.h>

Inheritance diagram for DCMTree::Message:
DCMTree_Serialization::Serializable DCMTree_Serialization::Deserializable

Public Member Functions

 Message ()
 Constructor Defaults to the default character set and implicit little-endian. More...
 
 Message (const Message &other)
 Copy constructor - makes a deep copy. More...
 
 Message (const std::string &specificCharacterSet, TransferSyntax syntax)
 Initializes the message with the given values. More...
 
 ~Message () override
 Destructor. More...
 
void convertToCharacterSet (const std::string &characterset)
 Converts the internal tag tree(s) to the given character set. More...
 
Messageoperator= (const Message &other)
 Makes a deep copy of the given instance into *this. More...
 
std::string specificCharacterSet ()
 Returns the specific character set of this message. More...
 
std::string specifiedCharacterSet ()
 Returns the specific character set specified in the tags of this message. More...
 
TransferSyntax syntax () const
 Returns the transfer syntax of this message. More...
 
const TreePtrtags ()
 Accesses all the tags (non-const access). More...
 
const Const_TreePtrtags () const
 Accesses all the tags (const access). More...
 
void setTags (TreePtr tags)
 Specifies tags tree (modifiable). More...
 
void setTags (Const_TreePtr tags)
 Specifies tags tree (non-modifiable). More...
 
void fromStream (std::istream &in, bool readName)
 Extracts this instance from the given stream. More...
 
void toStream (std::ostream &out, bool writeName) const
 Copies this instance recursively into the given stream. More...
 
void serializeX (DCMTree_Serialization::Sink &sink) const override
 Writes data of this object to sink. More...
 
void deserializeX (DCMTree_Serialization::Source &source) override
 Overwrites data of this object with data from source. More...
 
- Public Member Functions inherited from DCMTree_Serialization::Serializable
virtual ~Serializable ()
 Empty. More...
 
- Public Member Functions inherited from DCMTree_Serialization::Deserializable
virtual ~Deserializable ()
 Empty. More...
 

Detailed Description

Class to hold data of an DICOM message that is not part of the message itself.

Message does not automatically read or change tags from its internal tag tree(s); this is the job of the reader and writer.

Definition at line 40 of file DCMTree_Message.h.

Constructor & Destructor Documentation

◆ Message() [1/3]

DCMTree::Message::Message ( )

Constructor Defaults to the default character set and implicit little-endian.

◆ Message() [2/3]

DCMTree::Message::Message ( const Message other)

Copy constructor - makes a deep copy.

◆ Message() [3/3]

DCMTree::Message::Message ( const std::string &  specificCharacterSet,
TransferSyntax  syntax 
)

Initializes the message with the given values.

◆ ~Message()

DCMTree::Message::~Message ( )
override

Destructor.

Member Function Documentation

◆ convertToCharacterSet()

void DCMTree::Message::convertToCharacterSet ( const std::string &  characterset)

Converts the internal tag tree(s) to the given character set.

◆ deserializeX()

void DCMTree::Message::deserializeX ( DCMTree_Serialization::Source source)
overridevirtual

Overwrites data of this object with data from source.

All the rules stated for SCR::Serializable::serializeX apply correspondingly.

See also
SCR::Serializable::serializeX

Implements DCMTree_Serialization::Deserializable.

◆ fromStream()

void DCMTree::Message::fromStream ( std::istream &  in,
bool  readName 
)

Extracts this instance from the given stream.

readName = true reads tag name(s) from stream, false assumes that no name(s) is/are in stream. IMPORTANT: This method is used for file format persistence; thus stream contents must be maintained compatible. Note: This method is not endian safe.

Referenced by DCMTree::operator>>().

◆ operator=()

Message& DCMTree::Message::operator= ( const Message other)

Makes a deep copy of the given instance into *this.

◆ serializeX()

void DCMTree::Message::serializeX ( DCMTree_Serialization::Sink sink) const
overridevirtual

Writes data of this object to sink.

Implementations of Serializable::serializeX should strictly follow this pattern:

class C: public SCR::Serializable { T1 _m1; T2 _m2; T3 _m3; public: void serializeX(SCR::Sink &sink) const { SCR::serializeX(sink, _m1); SCR::serializeX(sink, _m2); SCR::serializeX(sink, _m3); } };

That is, you should call some overloading of SCR::serializeX for every member.

If some of the types T1, T2, T3 are not serializable, you should make them serializable.

See also
SCR

Implements DCMTree_Serialization::Serializable.

◆ setTags() [1/2]

void DCMTree::Message::setTags ( Const_TreePtr  tags)

Specifies tags tree (non-modifiable).

◆ setTags() [2/2]

void DCMTree::Message::setTags ( TreePtr  tags)

Specifies tags tree (modifiable).

◆ specificCharacterSet()

std::string DCMTree::Message::specificCharacterSet ( )

Returns the specific character set of this message.

◆ specifiedCharacterSet()

std::string DCMTree::Message::specifiedCharacterSet ( )

Returns the specific character set specified in the tags of this message.

◆ syntax()

TransferSyntax DCMTree::Message::syntax ( ) const

Returns the transfer syntax of this message.

◆ tags() [1/2]

const TreePtr& DCMTree::Message::tags ( )

Accesses all the tags (non-const access).

◆ tags() [2/2]

const Const_TreePtr& DCMTree::Message::tags ( ) const

Accesses all the tags (const access).

◆ toStream()

void DCMTree::Message::toStream ( std::ostream &  out,
bool  writeName 
) const

Copies this instance recursively into the given stream.

writeName = true writes tag name(s) to stream, false writes no name(s) into stream. IMPORTANT: This method is used for file format persistence; thus stream contents must be maintained compatible. Note: This method is not endian safe.

Referenced by DCMTree::operator<<().


The documentation for this class was generated from the following file: