vega
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
vega::dicom::DataSet Class Reference

Stores a set of DataElements. More...

#include <vega/dicom/data_set.h>

Classes

class  const_iterator
 
class  iterator
 

Public Types

typedef uint32_t length_type
 

Public Member Functions

 DataSet (std::shared_ptr< DataElement > parent=nullptr)
 
const std::weak_ptr< DataElement > & parent () const
 
std::weak_ptr< DataElement > & parent ()
 
void add_data_element (std::shared_ptr< DataElement > data_element)
 Adds a new DataElement to this DataSet. More...
 
template<typename T >
void add_element (std::shared_ptr< Element< T >> element)
 Adds a new Element<T> to this DataSet. More...
 
bool is_undefined_length () const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
size_t size () const
 
std::shared_ptr< DataElementdata_element (const std::string &name)
 
std::shared_ptr< DataElementdata_element (const Tag &tag)
 
std::shared_ptr< DataElementdata_element (const TagMask &tag_mask)
 
std::shared_ptr< const DataElementdata_element (const std::string &tag) const
 
std::shared_ptr< const DataElementdata_element (const Tag &tag) const
 
template<typename T >
std::shared_ptr< Element< T > > new_element ()
 
template<typename T >
std::shared_ptr< Element< T > > new_element (const Tag &tag)
 
template<typename T >
std::shared_ptr< Element< T > > element ()
 
bool operator== (const DataSet &other) const
 
bool operator!= (const DataSet &other) const
 
void log (Logger &logger) const
 

Public Attributes

length_type length
 

Static Public Attributes

static const length_type UNDEFINED_LENGTH
 

Detailed Description

Stores a set of DataElements.

This class corresponds to the part of a DICOM file called a "data set" (see DICOM documentation). Simply put a DataSet is a map from Tags to DataElements, and so there can be at most one DataElement per Tag.

Member Typedef Documentation

◆ length_type

Constructor & Destructor Documentation

◆ DataSet()

vega::dicom::DataSet::DataSet ( std::shared_ptr< DataElement parent = nullptr)

Creates a blank DataSet.

Parameters
parentis the parent DataElement of this DataSet (nullptr when this DataSet is at the root of the DICOM file)

Member Function Documentation

◆ add_data_element()

void vega::dicom::DataSet::add_data_element ( std::shared_ptr< DataElement data_element)

Adds a new DataElement to this DataSet.

◆ add_element()

template<typename T >
void vega::dicom::DataSet::add_element ( std::shared_ptr< Element< T >>  element)
inline

Adds a new Element<T> to this DataSet.

◆ begin() [1/2]

iterator vega::dicom::DataSet::begin ( )
inline

◆ begin() [2/2]

const_iterator vega::dicom::DataSet::begin ( ) const
inline

◆ data_element() [1/5]

std::shared_ptr<DataElement> vega::dicom::DataSet::data_element ( const std::string &  name)

◆ data_element() [2/5]

std::shared_ptr<DataElement> vega::dicom::DataSet::data_element ( const Tag tag)

◆ data_element() [3/5]

std::shared_ptr<DataElement> vega::dicom::DataSet::data_element ( const TagMask tag_mask)

◆ data_element() [4/5]

std::shared_ptr<const DataElement> vega::dicom::DataSet::data_element ( const std::string &  tag) const

◆ data_element() [5/5]

std::shared_ptr<const DataElement> vega::dicom::DataSet::data_element ( const Tag tag) const

◆ element()

template<typename T >
std::shared_ptr<Element<T> > vega::dicom::DataSet::element ( )
inline

◆ end() [1/2]

iterator vega::dicom::DataSet::end ( )
inline

◆ end() [2/2]

const_iterator vega::dicom::DataSet::end ( ) const
inline

◆ is_undefined_length()

bool vega::dicom::DataSet::is_undefined_length ( ) const

◆ log()

void vega::dicom::DataSet::log ( Logger logger) const

◆ new_element() [1/2]

template<typename T >
std::shared_ptr<Element<T> > vega::dicom::DataSet::new_element ( )
inline

◆ new_element() [2/2]

template<typename T >
std::shared_ptr<Element<T> > vega::dicom::DataSet::new_element ( const Tag tag)
inline

◆ operator!=()

bool vega::dicom::DataSet::operator!= ( const DataSet other) const

◆ operator==()

bool vega::dicom::DataSet::operator== ( const DataSet other) const

◆ parent() [1/2]

const std::weak_ptr<DataElement>& vega::dicom::DataSet::parent ( ) const

◆ parent() [2/2]

std::weak_ptr<DataElement>& vega::dicom::DataSet::parent ( )

◆ size()

size_t vega::dicom::DataSet::size ( ) const

Member Data Documentation

◆ length

length_type vega::dicom::DataSet::length

◆ UNDEFINED_LENGTH

const length_type vega::dicom::DataSet::UNDEFINED_LENGTH
static

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