icedb  version 0.5.1
Snow particle scattering database API
Namespaces | Macros | Functions | Variables
versioning.cpp File Reference
#include "../icedb/versioning/versioning.hpp"
#include "../icedb/util.h"
#include <sstream>
Include dependency graph for versioning.cpp:

Go to the source code of this file.

Namespaces

 icedb
 
 icedb::versioning
 
 icedb::versioning::internal
 

Macros

#define tryNum(x)   if (a->vn[versionInfo:: x] != b->vn[versionInfo:: x]) return res;
 
#define tryBool(x)   if (a->vb[versionInfo:: x] != b->vb[versionInfo:: x]) return res;
 
#define tryStr(x)   if (std::strncmp(a-> x, b-> x, versionInfo::charmax ) != 0) return res;
 
#define tryNumB(x)   if ((a->vn[versionInfo:: x] != b->vn[versionInfo:: x]) && a->vn[versionInfo:: x]) return res;
 

Functions

ICEDB_ver_match icedb::versioning::compareVersions (const versionInfo_p a, const versionInfo_p b)
 
void icedb::versioning::getLibVersionInfo (versionInfo &out)
 
versionInfo_p icedb::versioning::getLibVersionInfo ()
 
ICEDB_BEGIN_DECL_C void ICEDB_VersionInfo_Free (ICEDB_VersionInfo_p p)
 
ICEDB_VersionInfo_p ICEDB_getLibVersionInfo ()
 
const char * ICEDB_WriteLibVersionInfoCC (ICEDB_VersionInfo_p p)
 
char * ICEDB_WriteLibVersionInfoC (ICEDB_VersionInfo_p p, char *buf, size_t sz)
 
ICEDB_ver_match ICEDB_CompareVersions (const ICEDB_VersionInfo_p a, const ICEDB_VersionInfo_p b)
 

Variables

versionInfo_p icedb::versioning::internal::ver_int
 

Macro Definition Documentation

◆ tryBool

#define tryBool (   x)    if (a->vb[versionInfo:: x] != b->vb[versionInfo:: x]) return res;

◆ tryNum

#define tryNum (   x)    if (a->vn[versionInfo:: x] != b->vn[versionInfo:: x]) return res;

◆ tryNumB

#define tryNumB (   x)    if ((a->vn[versionInfo:: x] != b->vn[versionInfo:: x]) && a->vn[versionInfo:: x]) return res;

◆ tryStr

#define tryStr (   x)    if (std::strncmp(a-> x, b-> x, versionInfo::charmax ) != 0) return res;

Function Documentation

◆ ICEDB_CompareVersions()

ICEDB_ver_match ICEDB_CompareVersions ( const ICEDB_VersionInfo_p  a,
const ICEDB_VersionInfo_p  b 
)

Definition at line 98 of file versioning.cpp.

References icedb::versioning::compareVersions(), ICEDB_END_DECL_C, and ICEDB_VersionInfo::p.

98  {
99  return icedb::versioning::compareVersions(a->p, b->p);
100 }
icedb::versioning::versionInfo_p p
Definition: versioning.hpp:20
ICEDB_ver_match compareVersions(const versionInfo_p a, const versionInfo_p b)
Definition: versioning.cpp:9
Here is the call graph for this function:

◆ ICEDB_getLibVersionInfo()

ICEDB_VersionInfo_p ICEDB_getLibVersionInfo ( )

Definition at line 80 of file versioning.cpp.

References icedb::versioning::getLibVersionInfo(), and ICEDB_VersionInfo::p.

80  {
83  return res;
84 }
void getLibVersionInfo(versionInfo &out)
Definition: versioning.cpp:59
Here is the call graph for this function:

◆ ICEDB_VersionInfo_Free()

ICEDB_BEGIN_DECL_C void ICEDB_VersionInfo_Free ( ICEDB_VersionInfo_p  p)

Definition at line 78 of file versioning.cpp.

78 { if (p) delete p; }

◆ ICEDB_WriteLibVersionInfoC()

char* ICEDB_WriteLibVersionInfoC ( ICEDB_VersionInfo_p  p,
char *  buf,
size_t  sz 
)

Definition at line 93 of file versioning.cpp.

References ICEDB_COMPAT_strncpy_s(), ICEDB_WriteLibVersionInfoCC(), and ICEDB_VersionInfo::vstr.

93  {
95  ICEDB_COMPAT_strncpy_s(buf, sz, p->vstr.c_str(), p->vstr.size());
96  return buf;
97 }
std::string vstr
Definition: versioning.hpp:21
ICEDB_BEGIN_DECL_C ICEDB_SYMBOL_SHARED size_t ICEDB_COMPAT_strncpy_s(char *dest, size_t destSz, const char *src, size_t srcSz)
Definition: util.cpp:14
const char * ICEDB_WriteLibVersionInfoCC(ICEDB_VersionInfo_p p)
Definition: versioning.cpp:86
Here is the call graph for this function:

◆ ICEDB_WriteLibVersionInfoCC()

const char* ICEDB_WriteLibVersionInfoCC ( ICEDB_VersionInfo_p  p)

Definition at line 86 of file versioning.cpp.

References icedb::versioning::debug_preamble(), ICEDB_VersionInfo::p, and ICEDB_VersionInfo::vstr.

Referenced by ICEDB_WriteLibVersionInfoC().

86  {
87  if (p->vstr.size()) return p->vstr.c_str();
88  std::ostringstream out;
89  icedb::versioning::debug_preamble(*(p->p.get()), out);
90  p->vstr = out.str();
91  return p->vstr.c_str();
92 }
icedb::versioning::versionInfo_p p
Definition: versioning.hpp:20
std::string vstr
Definition: versioning.hpp:21
void debug_preamble(const versionInfo &v, std::ostream &out=std::cerr)
Provides information about the build environment during compilation.
Definition: versioning.hpp:116
Here is the call graph for this function:
Here is the caller graph for this function: