/usr/include/odil/VRFinder.h is in libodil0-dev 0.4.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | /*************************************************************************
* odil - Copyright (C) Universite de Strasbourg
* Distributed under the terms of the CeCILL-B license, as published by
* the CEA-CNRS-INRIA. Refer to the LICENSE file or to
* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
* for details.
************************************************************************/
#ifndef _b7afd80f_327e_4d9a_b0fa_88c565add7b3
#define _b7afd80f_327e_4d9a_b0fa_88c565add7b3
#include <functional>
#include <string>
#include <vector>
#include "odil/DataSet.h"
#include "odil/Tag.h"
#include "odil/VR.h"
namespace odil
{
/// @brief Find the VR of elements in an implicit VR data set.
class VRFinder
{
public:
/**
* @brief Prototype of finder functions.
*
* Finder functions must raise an exception if they are not applicable.
*/
typedef
std::function<VR(Tag const &, DataSet const &, std::string const &)>
Finder;
/// @brief Default finder functions.
static std::vector<Finder> const default_finders;
/// @brief User-defined finder functions, empty by default.
std::vector<Finder> finders;
/// @brief Constructor.
VRFinder();
/**
* @brief Return a VR for the given tag, partially-constructed data set and
* transfer-syntax. If no VR can be found, raise an exception.
*
* The user-defined finders are tried first, then the default_finders.
*/
VR operator()(
Tag const & tag, DataSet const & data_set,
std::string const & transfer_syntax) const;
/// @brief Return the VR from the public dictionary.
static VR public_dictionary(
Tag const & tag, DataSet const &, std::string const &);
/// @brief Return the VR of group-length (gggg,0000) elements.
static VR group_length(
Tag const & tag, DataSet const &, std::string const &);
/// @brief Return a default VR (UN) for private tags.
static VR private_tag(
Tag const & tag, DataSet const &, std::string const &);
/// @brief Return the VR of elements defined in PS3.5, A.1 (c).
static VR implicit_vr_little_endian(
Tag const & tag, DataSet const & data_set,
std::string const & transfer_syntax);
private:
static std::vector<Finder> _get_default_finders();
};
}
#endif // _b7afd80f_327e_4d9a_b0fa_88c565add7b3
|