Exiv2
Toggle main menu visibility
Main Page
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Variables
a
b
c
d
e
f
g
j
l
m
n
o
p
q
r
s
t
w
x
Typedefs
b
c
d
e
f
i
l
n
p
r
s
t
u
x
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Typedefs
a
c
f
g
h
i
k
n
p
v
x
Enumerations
Enumerator
Related Functions
Files
File List
File Members
All
Typedefs
Enumerations
Macros
Examples
include
exiv2
config.h
1
// config.h
2
3
#ifndef _CONFIG_H_
4
#define _CONFIG_H_
5
7
#ifdef _MSC_VER
8
9
#define _MSC_VER_2010 1600
10
#define _MSC_VER_2008 1500
11
12
// Constants required by Microsoft SDKs to define SHGetFolderPathA and others
13
14
#ifndef _WIN32_WINNT
15
// Visual Studio 2012 and earlier
16
# if _MSC_VER < 1800
17
# define _WIN32_WINNT 0x0501
18
# else
19
# define _WIN32_WINNT 0x0600
20
# endif
21
#endif
22
23
#if _MSC_VER >= _MSC_VER_2008
24
#pragma warning(disable : 4996)
// Disable warnings about 'deprecated' standard functions
25
#pragma warning(disable : 4251)
// Disable warnings from std templates about exporting interfaces
26
#endif
27
28
/* On Microsoft compilers pid_t has to be set to int. */
29
#ifndef HAVE_PID_T
30
typedef
int
pid_t;
31
#endif
32
33
#endif
// _MSC_VER
35
36
#include "exv_conf.h"
38
40
#if defined(__MINGW32__) || defined(__MINGW64__)
41
# ifndef __MING__
42
# define __MING__ 1
43
# endif
44
# ifndef __MINGW__
45
# define __MINGW__ 1
46
# endif
47
#endif
48
49
#ifndef __CYGWIN__
50
# if defined(__CYGWIN32__) || defined(__CYGWIN64__)
51
# define __CYGWIN__ 1
52
# endif
53
#endif
54
55
#ifndef __LITTLE_ENDIAN__
56
# if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__)
57
# if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
58
# define __LITTLE_ENDIAN__ 1
59
# endif
60
# endif
61
#endif
62
63
#ifndef __LITTLE_ENDIAN__
64
# if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW__)
65
# define __LITTLE_ENDIAN__ 1
66
# endif
67
#endif
68
69
/*
70
If you're using Solaris and the Solaris Studio compiler
71
you must -library=stdcxx4 along with these inclusions below
72
*/
73
#if defined(OS_SOLARIS)
74
# include <string.h>
75
# include <strings.h>
76
# include <math.h>
77
# if defined(__cplusplus)
78
# include <ios>
79
# include <fstream>
80
# endif
81
#endif
83
85
#ifndef EXV_SEPARATOR_STR
86
# if defined(WIN32) && !defined(__CYGWIN__)
87
# define EXV_SEPARATOR_STR "\\"
88
# define EXV_SEPARATOR_CHR '\\'
89
# else
90
# define EXV_SEPARATOR_STR "/"
91
# define EXV_SEPARATOR_CHR '/'
92
# endif
93
#endif
95
96
97
// https://softwareengineering.stackexchange.com/questions/291141/how-to-handle-design-changes-for-auto-ptr-deprecation-in-c11
98
#if __cplusplus >= 201103L
99
#include <memory>
100
#include <sys/types.h>
101
#ifndef _MSC_VER
102
#include <unistd.h>
103
#endif
104
template
<
typename
T>
105
using
auto_ptr = std::unique_ptr<T>;
106
#endif
107
108
#endif
// _CONFIG_H_
Generated on Sat Jan 28 2023 10:45:47 for Exiv2 by
1.9.4