IOSS 2.0
Loading...
Searching...
No Matches
Iovs_CatalystVersion.h
Go to the documentation of this file.
1// Copyright(C) 1999-2021 National Technology & Engineering Solutions
2// of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
3// NTESS, the U.S. Government retains certain rights in this software.
4//
5// See packages/seacas/LICENSE for details
6
7#ifndef IOSS_IOVS_CATALYST_VERSION_H
8#define IOSS_IOVS_CATALYST_VERSION_H
9
10#ifndef __CATALYST_PLUGIN_BUILD
11#include "iovs_export.h"
12#else
13#define IOVS_EXPORT
14#endif
15
16#include <string>
17
18namespace Iovs {
19
20 class IOVS_EXPORT CatalystVersion
21 {
22 public:
23 const std::string iossCatalystInterfaceVersion = "2.0.0";
24 std::string getIOSSCatalystInterfaceVersion();
25
26 // The IOSS interface and IOSS Catalyst plugin are versioned
27 // using semantic versioning: MAJOR.MINOR.PATCH
28 //
29 // The interface and plugin versions are incompatible if:
30 //
31 // The MAJOR versions are not equal.
32 // (or)
33 // The MAJOR versions are equal, and the interface MINOR version
34 // is greater than the plugin MINOR version.
35 // (or)
36 // The MAJOR versions are equal, the MINOR versions are equal,
37 // and the interface PATCH version is greater than the plugin PATCH
38 // version.
39
40 bool isInterfaceCompatibleWithPlugin(const std::string &interface_version,
41 const std::string &plugin_version);
42
43 private:
44 const unsigned int SEMANTIC_VERSION_LENGTH = 3;
45 const unsigned int MAJOR_INDEX = 0;
46 const unsigned int MINOR_INDEX = 1;
47 const unsigned int PATCH_INDEX = 2;
48 };
49
50} // namespace Iovs
51
52#endif
Definition Iovs_CatalystVersion.h:21
Definition CatalystManager.h:22