7#define ARP_INSIDE_ARP_BASE_CORE_ARP_H
8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Base/Core/Detail/PrimitiveTypes.hpp"
10#include "Arp/Base/Core/Detail/String.hpp"
13namespace Arp {
namespace Base {
namespace Core
27 explicit Version(Value major, Value minor = 0, Value patch = 0, Value build = 0);
36 friend ARP_EXPORT
bool operator==(
const Version& left,
const Version& right);
37 friend ARP_EXPORT std::strong_ordering operator<=>(
const Version& left,
const Version& right);
39 friend ARP_EXPORT std::ostream& operator<<(std::ostream& os,
const Version& arg);
40 friend ARP_EXPORT std::istream& operator>>(std::istream& is,
Version& arg);
47 Value GetMajor(
void)
const;
48 Value GetMinor(
void)
const;
49 Value GetPatch(
void)
const;
50 Value GetBuildNumber(
void)
const;
53 String ToString(
void)
const;
57 Version(Value major, Value minor, Value patch, Value build, const
String& state, const
String& name);
59 const
String& GetName(
void)const;
61 const
String& GetState(
void)const;
65 const Impl& GetImpl(
void)const;
74ARP_EXPORT
std::ostream& operator<<(
std::ostream& os, const
Version& arg);
75ARP_EXPORT
std::istream& operator>>(
std::istream& os,
Version& arg);
84template<>
struct fmt::formatter<
Arp::Base::Core::Version> :
public fmt::ostream_formatter {};
This class compounds Arp build version and infos.
Definition: ArpVersion.hpp:21
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
This class provides versioning.
Definition: Version.hpp:19
Version & operator=(const Version &arg)
Default copy-assignment operator.
Version & operator=(Version &&arg) noexcept
Default move-assignment operator.
~Version(void)
Default destructor.
Version(Version &&arg) noexcept
Default move constructor.
Version(void)
Default constructor.
Version(const Version &arg)
Default copy constructor.
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
Root namespace for the PLCnext API
class ARP_DEPRECATED("Use Arp::Enum<T> instead.") EnumStrings
Deprecated! The class implements an adapter for enums to define the string literals of the enum entri...
Definition: EnumStrings.hxx:38
Namespace of the C++ standard library