HepMC3 event record library
Version.h
1// -*- C++ -*-
2//
3// This file is part of HepMC
4// Copyright (C) 2014-2021 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.05"
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 3002005
18namespace HepMC3 {
19/// Get the HepMC library version string
20inline 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 main namespace.
std::string version()
Get the HepMC library version string.
Definition: Version.h:20