MeVisLab Toolbox Reference
DCMTree::Message Class Reference

class to hold data of an DICOM message, which 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 ()
 ctor default to default-character-set and implicit-little-endian More...
 
 Message (const Message &other)
 copy ctor - make deep copy More...
 
 Message (const std::string &specificCharacterSet, TransferSyntax syntax)
 initializes the message with the given values More...
 
 ~Message () override
 dtor More...
 
void convertToCharacterSet (const std::string &characterset)
 convert 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 ()
 get the specific character set of this message More...
 
std::string specifiedCharacterSet ()
 get the specific character set specified in the tags of this message More...
 
TransferSyntax syntax () const
 get the transfer-syntax of this message More...
 
const TreePtrtags ()
 access all the tags (non-const access) More...
 
const Const_TreePtrtags () const
 access all the tags (const access) More...
 
void setTags (TreePtr tags)
 Specify tags tree (modifiable) More...
 
void setTags (Const_TreePtr tags)
 Specify tags tree (non-modifiable) More...
 
void fromStream (std::istream &in, bool readName)
 extract this instance from the given stream readName = true reads tag name(s) from stream, false assumes that no name(s) is/are in stream. More...
 
void toStream (std::ostream &out, bool writeName) const
 copy this instance recursively into the given stream writeName = true writes tag name(s) to stream, false writes no name(s) into 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, which 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 ( )

ctor default to default-character-set and implicit-little-endian

◆ Message() [2/3]

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

copy ctor - make 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

dtor

Member Function Documentation

◆ convertToCharacterSet()

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

convert 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 
)

extract 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)

Specify tags tree (non-modifiable)

◆ setTags() [2/2]

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

Specify tags tree (modifiable)

◆ specificCharacterSet()

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

get the specific character set of this message

◆ specifiedCharacterSet()

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

get the specific character set specified in the tags of this message

◆ syntax()

TransferSyntax DCMTree::Message::syntax ( ) const

get the transfer-syntax of this message

◆ tags() [1/2]

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

access all the tags (non-const access)

◆ tags() [2/2]

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

access all the tags (const access)

◆ toStream()

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

copy 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: