Odil
A C++11 library for the DICOM standard
UserInformation.h
Go to the documentation of this file.
1 /*************************************************************************
2  * odil - Copyright (C) Universite de Strasbourg
3  * Distributed under the terms of the CeCILL-B license, as published by
4  * the CEA-CNRS-INRIA. Refer to the LICENSE file or to
5  * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
6  * for details.
7  ************************************************************************/
8 
9 #ifndef _7449339a_913f_4545_9846_311f055632c1
10 #define _7449339a_913f_4545_9846_311f055632c1
11 
12 #include <initializer_list>
13 #include <istream>
14 #include <vector>
15 
16 #include "odil/odil.h"
17 #include "odil/pdu/MaximumLength.h"
18 #include "odil/pdu/Object.h"
21 
22 namespace odil
23 {
24 
25 namespace pdu
26 {
27 
30 {
31 public:
34 
36  UserInformation(std::istream & stream);
37 
39  template<typename TObject>
40  std::vector<TObject> get_sub_items() const;
41 
43  template<typename TObject>
44  void set_sub_items(std::vector<TObject> const & sub_item);
45 
47  template<typename TObject>
48  void delete_sub_items();
49 private:
50  typedef std::vector<Item> Items;
51 
53  template<typename TObject>
54  std::vector<Items::const_iterator> _find_sub_items() const;
55 
57  template<typename TObject>
58  std::vector<Items::iterator> _find_sub_items();
59 };
60 
61 }
62 
63 }
64 
65 #include "odil/pdu/UserInformation.txx"
66 
67 #endif // _7449339a_913f_4545_9846_311f055632c1
User Information Item Structure (PS 3.8, 9.3.2.3 and 9.3.3.3).
Definition: UserInformation.h:29
Base class for all PDU-related high-level objects (PDU, items and sub-items).
Definition: Object.h:27
Definition: Association.h:24
#define ODIL_API
Definition: odil.h:28