File: metaImageUtils.h

package info (click to toggle)
paraview 5.13.2%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 544,220 kB
  • sloc: cpp: 3,374,605; ansic: 1,332,409; python: 150,381; xml: 122,166; sql: 65,887; sh: 7,317; javascript: 5,262; yacc: 4,417; java: 3,977; perl: 2,363; lex: 1,929; f90: 1,397; makefile: 170; objc: 153; tcl: 59; pascal: 50; fortran: 29
file content (47 lines) | stat: -rw-r--r-- 1,449 bytes parent folder | download | duplicates (7)
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
/*============================================================================
  MetaIO
  Copyright 2000-2010 Insight Software Consortium

  Distributed under the OSI-approved BSD License (the "License");
  see accompanying file Copyright.txt for details.

  This software is distributed WITHOUT ANY WARRANTY; without even the
  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  See the License for more information.
============================================================================*/
#include "metaTypes.h"

#ifndef ITKMetaIO_METAIMAGEUTILS_H
#  define ITKMetaIO_METAIMAGEUTILS_H

#  include "metaImageTypes.h"

#  include <memory>

#  if (METAIO_USE_NAMESPACE)
namespace METAIO_NAMESPACE
{
#  endif

METAIO_EXPORT bool
MET_StringToImageModality(const std::string& _str, MET_ImageModalityEnumType * _type);

METAIO_EXPORT bool
MET_ImageModalityToString(MET_ImageModalityEnumType _type, std::string & _str);

// C++11 friendly wrapper of snprintf
template <typename... Args>
std::string
string_format(const std::string & format, Args... args)
{
  auto                  size = static_cast<size_t>(snprintf(nullptr, 0, format.c_str(), args...) + 1); // Extra space for '\0'
  std::unique_ptr<char[]> buf(new char[size]);
  snprintf(buf.get(), size, format.c_str(), args...);
  return std::string(buf.get(), buf.get() + size - 1); // We don't want the '\0' inside
}

#  if (METAIO_USE_NAMESPACE)
};
#  endif

#endif