HepMC3 event record library
include
HepMC3
Version.h
1
// -*- C++ -*-
2
//
3
// This file is part of HepMC
4
// Copyright (C) 2014-2019 The HepMC collaboration (see AUTHORS for details)
5
//
6
#ifndef HEPMC3_VERSION_H
7
#define HEPMC3_VERSION_H
8
9
#include <string>
10
11
/// HepMC version string
12
#define HEPMC3_VERSION "3.02.02"
13
14
/// @brief HepMC version as an integer, HepMC X.Y.Z = 1000000*X + 1000*Y + Z
15
///
16
/// Use like "#if HEPMC3_VERSION_CODE < 3001004" for < 3.01.04
17
#define HEPMC3_VERSION_CODE 3002002
18
namespace
HepMC3
{
19
/// Get the HepMC library version string
20
inline
std::string
version
() {
21
return
HEPMC3_VERSION;
22
}
23
}
24
25
#if (defined(WIN32) || defined(_WIN32) || defined(__WIN32)) && !defined(__CYGWIN__)
26
#define HEPMC3_DECLARE_READER_FILE(classname) extern "C" { __declspec(dllexport) classname * __stdcall new ## classname ## file (const std::string &filename ) { return new classname (filename); } }
27
#define HEPMC3_DECLARE_READER_STREAM(classname) extern "C" { __declspec(dllexport) classname * __stdcall new ## classname ## stream (std::istream & stream) { return new classname (stream); } }
28
#define HEPMC3_DECLARE_WRITER_FILE(classname) extern "C" { __declspec(dllexport) classname * __stdcall new ## classname ## file (const std::string &filename, std::shared_ptr<GenRunInfo> run ) { return new classname (filename,run); } }
29
#define HEPMC3_DECLARE_WRITER_STREAM(classname) extern "C" { __declspec(dllexport) classname * __stdcall new ## classname ## stream (std::ostream & stream, std::shared_ptr<GenRunInfo> run) { return new classname (stream,run); } }
30
#endif
31
#if defined(__linux__) || defined(__darwin__)|| defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun)
32
#define HEPMC3_DECLARE_READER_FILE(classname) extern "C" { classname * new ## classname ## file (const std::string &filename ) { return new classname (filename); } }
33
#define HEPMC3_DECLARE_READER_STREAM(classname) extern "C" { classname * new ## classname ## stream (std::istream & stream) { return new classname (stream); } }
34
#define HEPMC3_DECLARE_WRITER_FILE(classname) extern "C" { classname * new ## classname ## file (const std::string &filename, std::shared_ptr<GenRunInfo> run ) { return new classname (filename,run); } }
35
#define HEPMC3_DECLARE_WRITER_STREAM(classname) extern "C" { classname * new ## classname ## stream (std::ostream & stream, std::shared_ptr<GenRunInfo> run) { return new classname (stream,run); } }
36
#endif
37
#endif
HepMC3
HepMC3 main namespace.
Definition:
AnalysisExample.h:19
HepMC3::version
std::string version()
Get the HepMC library version string.
Definition:
Version.h:20
Generated on Mon Jul 27 2020 00:00:00 for HepMC3 event record library by
1.8.18