Go to the documentation of this file.
32 #ifndef CPL_CONV_H_INCLUDED
33 #define CPL_CONV_H_INCLUDED
52 void CPL_DLL CPLVerifyConfiguration(
void);
55 const char CPL_DLL * CPL_STDCALL
57 const char CPL_DLL * CPL_STDCALL
61 const char *pszValue );
63 void CPL_DLL CPL_STDCALL CPLFreeConfig(
void);
81 #define CPLFree VSIFree
86 char CPL_DLL *
CPLFGets(
char *,
int, FILE *);
96 double CPL_DLL
CPLAtof(
const char *);
98 double CPL_DLL
CPLStrtod(
const char *,
char **);
100 float CPL_DLL
CPLStrtof(
const char *,
char **);
107 double CPL_DLL
CPLAtofM(
const char *);
115 unsigned long CPL_DLL
CPLScanULong(
const char *,
int );
128 int CPL_DLL
CPLPrintDouble(
char *,
const char *,
double,
const char * );
129 int CPL_DLL
CPLPrintTime(
char *,
int ,
const char *,
const struct tm *,
137 void CPL_DLL *
CPLGetSymbol(
const char *,
const char * );
154 const char *pszBasename,
157 const char *pszBasename,
166 const char *pszNewFilename,
168 int CPL_DLL
CPLCheckForFile(
char *pszFilename,
char **papszSiblingList );
179 typedef const char *(*CPLFileFinder)(
const char *,
const char *);
181 const char CPL_DLL *
CPLFindFile(
const char *pszClass,
182 const char *pszBasename);
184 const char *pszBasename);
210 FILE CPL_DLL *
CPLOpenShared(
const char *,
const char *,
int );
215 void CPL_DLL CPLCleanupSharedFileMutex(
void );
222 const char CPL_DLL *
CPLDecToDMS(
double dfAngle,
const char * pszAxis,
228 double *pdfReal,
double *pdfImag );
234 int CPL_DLL
CPLCopyFile(
const char *pszNewPath,
const char *pszOldPath );
235 int CPL_DLL
CPLCopyTree(
const char *pszNewPath,
const char *pszOldPath );
236 int CPL_DLL
CPLMoveFile(
const char *pszNewPath,
const char *pszOldPath );
244 #define CPL_ZIP_API_OFFERED
246 void CPL_DLL *
CPLCreateZip(
const char *pszZipFilename,
char **papszOptions );
248 char **papszOptions );
257 void CPL_DLL *CPLZLibDeflate(
const void* ptr,
size_t nBytes,
int nLevel,
258 void* outptr,
size_t nOutAvailableBytes,
259 size_t* pnOutBytes );
261 void* outptr,
size_t nOutAvailableBytes,
262 size_t* pnOutBytes );
267 int CPL_DLL CPLValidateXML(
const char* pszXMLFilename,
268 const char* pszXSDFilename,
276 void CPLCleanupSetlocaleMutex(
void);
293 #if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
297 class CPL_DLL CPLLocaleC
312 class CPLThreadLocaleCPrivate;
313 class CPL_DLL CPLThreadLocaleC
322 CPLThreadLocaleCPrivate* m_private;
336 #if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
340 class CPL_DLL CPLConfigOptionSetter
344 CPLConfigOptionSetter(
const char* pszKey,
const char* pszValue,
345 bool bSetOnlyIfUndefined);
346 ~CPLConfigOptionSetter();
351 bool m_bRestoreOldValue;
358 #if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
364 #include <type_traits>
378 template<
typename To,
typename From>
inline To
down_cast(From* f)
381 (std::is_base_of<From,
382 typename std::remove_pointer<To>::type>::value),
383 "target type not derived from source type");
384 CPLAssert(f ==
nullptr ||
dynamic_cast<To
>(f) !=
nullptr);
385 return static_cast<To
>(f);
void CPLPopFinderLocation(void)
Definition: cpl_findfile.cpp:285
double CPLStrtodDelim(const char *, char **, char)
Definition: cpl_strtod.cpp:231
const char * CPLReadLineL(VSILFILE *)
Definition: cpl_conv.cpp:630
#define GINTBIG_MAX
Definition: cpl_port.h:256
const char * CPLGenerateTempFilename(const char *pszStem)
Definition: cpl_path.cpp:1105
unsigned char GByte
Definition: cpl_port.h:215
int CPLIsPowerOfTwo(unsigned int i)
Definition: cpl_conv.cpp:3018
void * CPLGetSymbol(const char *, const char *)
Definition: cplgetsymbol.cpp:89
char * CPLScanString(const char *, int, int, int)
Definition: cpl_conv.cpp:846
short GInt16
Definition: cpl_port.h:211
size_t VSIFReadL(void *, size_t, size_t, VSILFILE *) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT
Read bytes from file.
Definition: cpl_vsil.cpp:1690
int VSIRmdir(const char *pszDirname)
Delete a directory.
Definition: cpl_vsil.cpp:647
int CPLPrintStringFill(char *, const char *, int)
Definition: cpl_conv.cpp:1267
const char * CPLCleanTrailingSlash(const char *)
Definition: cpl_path.cpp:949
int CPLGetExecPath(char *pszPathBuf, int nMaxLength)
Definition: cpl_getexecpath.cpp:132
const char * CPLFindFile(const char *pszClass, const char *pszBasename)
Definition: cpl_findfile.cpp:177
int CPLPrintTime(char *, int, const char *, const struct tm *, const char *)
Definition: cpl_conv.cpp:1502
double CPLDMSToDec(const char *is)
Definition: cpl_conv.cpp:2046
const char * CPLExtractRelativePath(const char *, const char *, int *)
Definition: cpl_path.cpp:857
#define VSI_REALLOC_VERBOSE(pOldPtr, nNewSize)
Definition: cpl_vsi.h:288
void * CPLZLibInflate(const void *ptr, size_t nBytes, void *outptr, size_t nOutAvailableBytes, size_t *pnOutBytes)
Uncompress a buffer compressed with ZLib DEFLATE compression.
Definition: cpl_conv.cpp:3116
int CPLPrintUIntBig(char *, GUIntBig, int)
Definition: cpl_conv.cpp:1350
void * CPLCalloc(size_t, size_t)
Definition: cpl_conv.cpp:138
int CPLCopyFile(const char *pszNewPath, const char *pszOldPath)
Definition: cpl_conv.cpp:2644
void CPLSetConfigOptions(const char *const *papszConfigOptions)
Definition: cpl_conv.cpp:1765
CPLErr CPLCloseZip(void *hZip)
Definition: cpl_conv.cpp:3105
void * VSIRealloc(void *, size_t)
Definition: cpl_vsisimple.cpp:681
void * CPLScanPointer(const char *, int)
Definition: cpl_conv.cpp:1105
char ** CSLSetNameValue(char **papszStrList, const char *pszName, const char *pszValue)
Definition: cpl_string.cpp:1877
int CPLsnprintf(char *str, size_t size, const char *fmt,...)
Definition: cpl_string.cpp:1337
void CPLPushFinderLocation(const char *)
Definition: cpl_findfile.cpp:246
double CPLPackedDMSToDec(double)
Definition: cpl_conv.cpp:2222
GIntBig CPLAtoGIntBig(const char *pszString)
Definition: cpl_conv.cpp:998
int bLarge
Definition: cpl_conv.h:205
void CPLDumpSharedList(FILE *)
Definition: cpl_conv.cpp:2521
CPLSharedFileInfo * CPLGetSharedList(int *)
Definition: cpl_conv.cpp:2499
const char * CPLResetExtension(const char *, const char *)
Definition: cpl_path.cpp:431
#define VSI_ISREG(x)
Definition: cpl_vsi.h:124
Definition: cpl_conv.h:202
int VSIMkdir(const char *pszPathname, long mode)
Create a directory.
Definition: cpl_vsil.cpp:423
Convenient string class based on std::string.
Definition: cpl_string.h:330
int VSIRename(const char *oldpath, const char *newpath)
Rename a file.
Definition: cpl_vsil.cpp:529
size_t VSIFWriteL(const void *, size_t, size_t, VSILFILE *) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT
Write bytes to file.
Definition: cpl_vsil.cpp:1804
void * CPLRealloc(void *, size_t)
Definition: cpl_conv.cpp:225
double CPLAtofM(const char *)
Definition: cpl_strtod.cpp:142
#define VSI_ISDIR(x)
Definition: cpl_vsi.h:126
#define CPL_FRMT_GIB
Definition: cpl_port.h:316
#define EQUAL(a, b)
Definition: cpl_port.h:569
const char * CPLGetPath(const char *)
Definition: cpl_path.cpp:153
int VSIFCloseL(VSILFILE *) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT
Close file.
Definition: cpl_vsil.cpp:1472
CPLErr CPLCloseFileInZip(void *hZip)
Definition: cpl_conv.cpp:3103
void CPLFinderClean(void)
Definition: cpl_findfile.cpp:134
const char * CPLGetThreadLocalConfigOption(const char *, const char *)
Definition: cpl_conv.cpp:1780
const char * CPLDefaultFindFile(const char *pszClass, const char *pszBasename)
Definition: cpl_findfile.cpp:149
#define CPLAssert(expr)
Definition: cpl_error.h:186
GIntBig CPLAtoGIntBigEx(const char *pszString, int bWarn, int *pbOverflow)
Definition: cpl_conv.cpp:1050
#define CPL_C_START
Definition: cpl_port.h:337
FILE * CPLOpenShared(const char *, const char *, int)
Definition: cpl_conv.cpp:2335
#define CPLE_OutOfMemory
Definition: cpl_error.h:101
bool CPLTestBool(const char *pszValue)
Definition: cpl_string.cpp:1526
int CPLCheckForFile(char *pszFilename, char **papszSiblingList)
Definition: cpl_conv.cpp:3053
char * CPLGetCurrentDir(void)
Definition: cpl_path.cpp:396
char * CPLFGets(char *, int, FILE *)
Definition: cpl_conv.cpp:364
char ** CSLConstList
Definition: cpl_port.h:1194
void CPLCloseShared(FILE *)
Definition: cpl_conv.cpp:2408
vsi_l_offset VSIFTellL(VSILFILE *)
Tell current file offset.
Definition: cpl_vsil.cpp:1575
const char * CPLGetDirname(const char *)
Definition: cpl_path.cpp:208
unsigned long long GUIntBig
Definition: cpl_port.h:251
void * CPLCreateZip(const char *pszZipFilename, char **papszOptions)
Definition: cpl_conv.cpp:3091
const char * CPLReadLine3L(VSILFILE *, int, int *, CSLConstList)
Definition: cpl_conv.cpp:682
#define VALIDATE_POINTER1(ptr, func, rc)
Definition: cpl_error.h:276
char ** CPLGetConfigOptions(void)
Definition: cpl_conv.cpp:1739
#define CPL_C_END
Definition: cpl_port.h:339
int CPLPrintString(char *, const char *, int)
Definition: cpl_conv.cpp:1223
#define GINTBIG_MIN
Definition: cpl_port.h:254
void CPLDebug(const char *, const char *,...)
Definition: cpl_error.cpp:602
int CPLIsFilenameRelative(const char *pszFilename)
Definition: cpl_path.cpp:816
const char * CPLFormFilename(const char *pszPath, const char *pszBasename, const char *pszExtension)
Definition: cpl_path.cpp:537
int VSIStatL(const char *, VSIStatBufL *)
Get filesystem object info.
Definition: cpl_vsil.cpp:737
int VSIUnlink(const char *pszFilename)
Delete a file.
Definition: cpl_vsil.cpp:498
const char * CPLProjectRelativeFilename(const char *pszProjectDir, const char *pszSecondaryFilename)
Definition: cpl_path.cpp:750
void * CPLMalloc(size_t)
Definition: cpl_conv.cpp:168
const char *(* CPLFileFinder)(const char *, const char *)
Definition: cpl_conv.h:179
const char * CPLFormCIFilename(const char *pszPath, const char *pszBasename, const char *pszExtension)
Definition: cpl_path.cpp:657
int CPLMoveFile(const char *pszNewPath, const char *pszOldPath)
Definition: cpl_conv.cpp:2784
int VSIFSeekL(VSILFILE *, vsi_l_offset, int) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT
Seek to requested offset.
Definition: cpl_vsil.cpp:1532
const char * CPLSPrintf(const char *fmt,...)
Definition: cpl_string.cpp:977
float CPLStrtof(const char *, char **)
Definition: cpl_strtod.cpp:397
void CPLSetThreadLocalConfigOptions(const char *const *papszConfigOptions)
Definition: cpl_conv.cpp:1952
Definition: cpl_multiproc.h:140
void CPLError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...)
Definition: cpl_error.cpp:308
void CPLEmergencyError(const char *)
Definition: cpl_error.cpp:489
char ** CPLCorrespondingPaths(const char *pszOldFilename, const char *pszNewFilename, char **papszFileList)
Definition: cpl_path.cpp:1000
void VSIFree(void *)
Definition: cpl_vsisimple.cpp:827
#define CPLE_NotSupported
Definition: cpl_error.h:109
unsigned long CPLScanULong(const char *, int)
Definition: cpl_conv.cpp:934
void CPLSetConfigOption(const char *, const char *)
Definition: cpl_conv.cpp:1832
To down_cast(From *f)
Definition: cpl_conv.h:378
const char * CPLDecToDMS(double dfAngle, const char *pszAxis, int nPrecision)
Definition: cpl_conv.cpp:2129
size_t CPLStrnlen(const char *pszStr, size_t nMaxLen)
Definition: cpl_string.cpp:2796
int CPLUnlinkTree(const char *)
Definition: cpl_conv.cpp:2559
int CPLCopyTree(const char *pszNewPath, const char *pszOldPath)
Definition: cpl_conv.cpp:2706
char ** CSLDuplicate(CSLConstList papszStrList)
Definition: cpl_string.cpp:228
char * pszAccess
Definition: cpl_conv.h:207
CPLErr CPLWriteFileInZip(void *hZip, const void *pBuffer, int nBufferSize)
Definition: cpl_conv.cpp:3101
void * VSIMalloc(size_t)
Definition: cpl_vsisimple.cpp:558
void CSLDestroy(char **papszStrList)
Definition: cpl_string.cpp:200
long long GIntBig
Definition: cpl_port.h:248
#define VSI_MALLOC_VERBOSE(size)
Definition: cpl_vsi.h:268
char * CPLsetlocale(int category, const char *locale)
Definition: cpl_conv.cpp:2992
int CPLSymlink(const char *pszOldPath, const char *pszNewPath, CSLConstList papszOptions)
Definition: cpl_conv.cpp:2805
#define CPL_UNUSED
Definition: cpl_port.h:948
int CPLStat(const char *, VSIStatBuf *)
Definition: cpl_conv.cpp:1997
#define CPL_WARN_UNUSED_RESULT
Definition: cpl_port.h:939
const char * CPLExpandTilde(const char *pszFilename)
Definition: cpl_path.cpp:1148
double CPLDecToPackedDMS(double dfDec)
Definition: cpl_conv.cpp:2256
struct stat64 VSIStatBufL
Definition: cpl_vsi.h:194
const char * CPLReadLine(FILE *)
Definition: cpl_conv.cpp:566
int CPLPrintDouble(char *, const char *, double, const char *)
Definition: cpl_conv.cpp:1444
VSILFILE * VSIFOpenL(const char *, const char *)
Open file.
Definition: cpl_vsil.cpp:997
char * pszFilename
Definition: cpl_conv.h:206
const char * CSLFetchNameValue(CSLConstList papszStrList, const char *pszName)
Definition: cpl_string.cpp:1674
CPLErr
Definition: cpl_error.h:53
int CPLPrintPointer(char *, void *, int)
Definition: cpl_conv.cpp:1400
char ** VSIReadDir(const char *)
Read names in a directory.
Definition: cpl_vsil.cpp:83
char * CPLStrdup(const char *)
Definition: cpl_conv.cpp:293
double CPLAtof(const char *)
Definition: cpl_strtod.cpp:117
CPLFileFinder CPLPopFileFinder(void)
Definition: cpl_findfile.cpp:235
GUIntBig CPLScanUIntBig(const char *, int)
Definition: cpl_conv.cpp:964
const char * CPLReadLine2L(VSILFILE *, int, CSLConstList)
Definition: cpl_conv.cpp:652
CPLErr CPLCreateFileInZip(void *hZip, const char *pszFilename, char **papszOptions)
Definition: cpl_conv.cpp:3099
const char * CPLGetHomeDir(void)
Definition: cpl_path.cpp:1176
int CPLPrintInt32(char *, GInt32, int)
Definition: cpl_conv.cpp:1311
float CPLStrtofDelim(const char *, char **, char)
Definition: cpl_strtod.cpp:347
void CPLPushFileFinder(CPLFileFinder pfnFinder)
Definition: cpl_findfile.cpp:200
long CPLScanLong(const char *, int)
Definition: cpl_conv.cpp:906
char ** CPLGetThreadLocalConfigOptions(void)
Definition: cpl_conv.cpp:1922
double CPLScanDouble(const char *, int)
Definition: cpl_conv.cpp:1171
#define CPLE_FileIO
Definition: cpl_error.h:103
const char * CPLGetBasename(const char *)
Definition: cpl_path.cpp:292
void CPLStringToComplex(const char *pszString, double *pdfReal, double *pdfImag)
Definition: cpl_conv.cpp:2273
double CPLAtofDelim(const char *, char)
Definition: cpl_strtod.cpp:73
#define CPLFree
Definition: cpl_conv.h:81
int GInt32
Definition: cpl_port.h:205
const char * CPLGetExtension(const char *)
Definition: cpl_path.cpp:345
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Definition: cpl_port.h:997
const char * CPLGetFilename(const char *)
Definition: cpl_path.cpp:260
#define CPL_RETURNS_NONNULL
Definition: cpl_port.h:972
int nRefCount
Definition: cpl_conv.h:204
FILE * fp
Definition: cpl_conv.h:203
double CPLStrtod(const char *, char **)
Definition: cpl_strtod.cpp:321
const char * CPLGetConfigOption(const char *, const char *)
Definition: cpl_conv.cpp:1692
FILE VSILFILE
Definition: cpl_vsi.h:156
void CPLSetThreadLocalConfigOption(const char *pszKey, const char *pszValue)
Definition: cpl_conv.cpp:1885
char * CPLStrlwr(char *)
Definition: cpl_conv.cpp:319
#define STARTS_WITH_CI(a, b)
Definition: cpl_port.h:580
#define CPLE_AppDefined
Definition: cpl_error.h:99
unsigned int GUInt32
Definition: cpl_port.h:207
Generated for GDAL by
1.8.20.