# gdcm::VM Class Reference

Value Multiplicity Looking at the DICOMV3 dict only there is very few cases: 1 2 3 4 5 6 8 16 24 1-2 1-3 1-8 1-32 1-99 1-n 2-2n 2-n 3-3n 3-n. More...

`#include <gdcmVM.h>`

List of all members.

## Public Types
enum | VMType { VM0 = 0, VM1 = 1, VM2 = 2, VM3 = 4, VM4 = 8, VM5 = 16, VM6 = 32, VM8 = 64, VM9 = 128, VM10 = 256, VM12 = 512, VM16 = 1024, VM18 = 2048, VM24 = 4096, VM28 = 8192, VM32 = 16384, VM35 = 32768, VM99 = 65536, VM256 = 131072, VM1_2 = VM1 | VM2, VM1_3 = VM1 | VM2 | VM3, VM1_4 = VM1 | VM2 | VM3 | VM4, VM1_5 = VM1 | VM2 | VM3 | VM4 | VM5, VM1_8 = VM1 | VM2 | VM3 | VM4 | VM5 | VM6 | VM8, VM1_32 = VM1 | VM2 | VM3 | VM4 | VM5 | VM6 | VM8 | VM9 | VM16 | VM24 | VM32, VM1_99 = VM1 | VM2 | VM3 | VM4 | VM5 | VM6 | VM8 | VM9 | VM16 | VM24 | VM32 | VM99, VM1_n = VM1 | VM2 | VM3 | VM4 | VM5 | VM6 | VM8 | VM9 | VM16 | VM24 | VM32 | VM99 | VM256, VM2_2n = VM2 | VM4 | VM6 | VM8 | VM16 | VM24 | VM32 | VM256, VM2_n = VM2 | VM3 | VM4 | VM5 | VM6 | VM8 | VM9 | VM16 | VM24 | VM32 | VM99 | VM256, VM3_4 = VM3 | VM4, VM3_3n = VM3 | VM6 | VM9 | VM24 | VM99 | VM256, VM3_n = VM3 | VM4 | VM5 | VM6 | VM8 | VM9 | VM16 | VM24 | VM32 | VM99 | VM256, VM4_4n = VM4 | VM16 | VM24 | VM32 | VM256, VM6_6n = VM6 | VM12 | VM18 | VM24, VM7_7n, VM30_30n, VM47_47n, VM_END = VM1_n + 1 }
## Public Member Functions
| VM (VMType type=VM0)
bool | Compatible (VM const &vm) const
unsigned int | GetLength () const
| operator VMType () const
## Static Public Member Functions
static unsigned int | GetNumberOfElementsFromArray (const char *array, unsigned int length)
static const char * | GetVMString (VMType vm)
static VMType | GetVMType (const char *vm)
static VMType | GetVMTypeFromLength (unsigned int length, unsigned int size)
static bool | IsValid (int vm1, VMType vm2)
## Static Protected Member Functions
static unsigned int | GetIndex (VMType vm)
## Friends
std::ostream & | operator<< (std::ostream &os, const VM &vm)

## Detailed Description

Value Multiplicity Looking at the DICOMV3 dict only there is very few cases: 1 2 3 4 5 6 8 16 24 1-2 1-3 1-8 1-32 1-99 1-n 2-2n 2-n 3-3n 3-n.

Some private dict define some more: 4-4n 1-4 1-5 256 9 3-4

even more:

7-7n 10 18 12 35 47_47n 30_30n 28

6-6n

## Member Enumeration Documentation

enum gdcm::VM::VMType

Enumerator:

  VM0 |
  VM1 |
  VM2 |
  VM3 |
  VM4 |
  VM5 |
  VM6 |
  VM8 |
  VM9 |
  VM10 |
  VM12 |
  VM16 |
  VM18 |
  VM24 |
  VM28 |
  VM32 |
  VM35 |
  VM99 |
  VM256 |
  VM1_2 |
  VM1_3 |
  VM1_4 |
  VM1_5 |
  VM1_8 |
  VM1_32 |
  VM1_99 |
  VM1_n |
  VM2_2n |
  VM2_n |
  VM3_4 |
  VM3_3n |
  VM3_n |
  VM4_4n |
  VM6_6n |
  VM7_7n |
  VM30_30n |
  VM47_47n |
  VM_END |

## Constructor & Destructor Documentation

gdcm::VM::VM | ( | VMType | type = `VM0` | ) | `[inline]`

## Member Function Documentation

bool gdcm::VM::Compatible | ( | VM const & | vm | ) | const

WARNING: Implementation deficiency The Compatible function is poorly implemented, the reference vm should be coming from the dictionary, while the passed in value is the value guess from the file.

static unsigned int gdcm::VM::GetIndex | ( | VMType | vm | ) | `[static, protected]`

unsigned int gdcm::VM::GetLength | ( |  | ) | const

static unsigned int gdcm::VM::GetNumberOfElementsFromArray | ( | const char * | array,
|  | unsigned int | length |
| ) |  |  | `[static]`

static const char* gdcm::VM::GetVMString | ( | VMType | vm | ) | `[static]`

Return the string as written in the official DICOM dict from a custom enum type

Referenced by gdcm::operator<<().

static VMType gdcm::VM::GetVMType | ( | const char * | vm | ) | `[static]`

static VMType gdcm::VM::GetVMTypeFromLength | ( | unsigned int | length,
|  | unsigned int | size |
| ) |  |  | `[static]`

static bool gdcm::VM::IsValid | ( | int | vm1,
|  | VMType | vm2 |
| ) |  |  | `[static]`

Check if vm1 is valid compare to vm2, i.e vm1 is element of vm2 vm1 is typically deduce from counting in a ValueField

gdcm::VM::operator VMType | ( |  | ) | const`[inline]`

## Friends And Related Function Documentation

std::ostream& operator<< | ( | std::ostream & | os,
|  | const VM & | vm |
| ) |  |  | `[friend]`

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

- gdcmVM.h