Logo Search packages:      
Sourcecode: gdcm version File versions

gdcm::Attribute< Group, Element, TVR, TVM > Class Template Reference

#include <gdcmAttribute.h>

Inherited by gdcm::Attribute< Group, Element, TVR, VM::VM2_2n >, gdcm::Attribute< Group, Element, TVR, VM::VM2_n >, gdcm::Attribute< Group, Element, TVR, VM::VM3_3n >, and gdcm::Attribute< Group, Element, TVR, VM::VM3_n >.

List of all members.

Detailed Description

template<uint16_t Group, uint16_t Element, int TVR = TagToType<Group, Element>::VRType, int TVM = TagToType<Group, Element>::VMType>
class gdcm::Attribute< Group, Element, TVR, TVM >

Attribute class This class use template metaprograming tricks to let the user know when the template instanciation does not match the public dictionary.

Typical example that compile is: Attribute<0x0008,0x9007> a = {"ORIGINAL","PRIMARY","T1","NONE"};

Examples that will NOT compile are:

Attribute<0x0018,0x1182, VR::IS, VM::VM1> fd1 = {}; // not enough parameters Attribute<0x0018,0x1182, VR::IS, VM::VM2> fd2 = {0,1,2}; // too many initializers Attribute<0x0018,0x1182, VR::IS, VM::VM3> fd3 = {0,1,2}; // VM3 is not valid Attribute<0x0018,0x1182, VR::UL, VM::VM2> fd3 = {0,1}; // UL is not valid VR

Definition at line 85 of file gdcmAttribute.h.

Public Types

enum  { VMType = VMToLength<TVM>::Length }
typedef VRToType< TVR >::Type ArrayType

Public Member Functions

 GDCM_STATIC_ASSERT (((((VR::VRType) TVR &VR::VR_VM1)&&((VM::VMType) TVM==VM::VM1))||!((VR::VRType) TVR &VR::VR_VM1)))
 GDCM_STATIC_ASSERT (((VM::VMType) TVM &(VM::VMType)(TagToType< Group, Element >::VMType)))
 GDCM_STATIC_ASSERT (((VR::VRType) TVR &(VR::VRType)(TagToType< Group, Element >::VRType)))
DataElement GetAsDataElement () const
unsigned int GetNumberOfValues () const
ArrayType const & GetValue (unsigned int idx=0) const
ArrayType GetValue (unsigned int idx=0)
const ArrayType * GetValues () const
ArrayType const & operator[] (unsigned int idx) const
ArrayType operator[] (unsigned int idx)
void Print (std::ostream &os) const
void SetFromDataElement (DataElement const &de)
void SetValue (ArrayType v, unsigned int idx=0)
void SetValues (const ArrayType *array, unsigned int numel=VMType)

Static Public Member Functions

static VM GetDictVM ()
static VR GetDictVR ()
static Tag GetTag ()
static VM GetVM ()
static VR GetVR ()

Public Attributes

ArrayType Internal [VMToLength< TVM >::Length]

Protected Member Functions

void SetByteValue (const ByteValue *bv)
void SetByteValueNoSwap (const ByteValue *bv)

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

Generated by  Doxygen 1.6.0   Back to index