Api.h
1/* Copyright (C) 2008 Marc Boris Duerner
2 SPDX-License-Identifier: LGPL-2.1-or-later WITH mif-exception
3*/
4
5#if defined(_MSC_VER)
6 //http://support.microsoft.com/support/kb/articles/Q134/9/80.asp
7 //http://support.microsoft.com/support/kb/articles/Q168/9/58.ASP
8 //http://support.microsoft.com/support/kb/articles/Q172/3/96.ASP
9
10 // deprectated stdc++ functions
11 #pragma warning( disable : 4996 )
12
13 // dll-linkage
14 #pragma warning( disable : 4251 )
15
16 // non dll-interface base class
17 #pragma warning( disable : 4275 )
18
19 // exception sepcification ignored
20 #pragma warning( disable : 4290 )
21#endif
22
23#if defined (__INTEL_COMPILER)
24 // field of class type without a DLL interface used in a class with a DLL interface
25 #pragma warning( disable : 1744 )
26
27 //base class dllexport/dllimport specification differs from that of the derived class
28 #pragma warning( disable : 1738 )
29#endif
30
31#if defined(WIN32) || defined(_WIN32)
32 // suppress min/max macros from win32 headers
33 #ifndef NOMINMAX
34 #define NOMINMAX
35 #endif
36#endif
37
38#define PT_VERSION_MAJOR 2
39#define PT_VERSION_MINOR 0
40#define PT_VERSION_REVISION 0
41#define PT_VERSION_PRERELEASE 1
42
43#if defined(_MSC_VER) || defined(WIN32) || defined(_WIN32)
44 #define PT_EXPORT __declspec(dllexport)
45 #define PT_IMPORT __declspec(dllimport)
46#elif __GNUC__ >= 4
47 #define PT_EXPORT __attribute__((visibility("default")))
48 #define PT_IMPORT
49#elif __SYMBIAN32__
50 #define PT_EXPORT
51 #define PT_IMPORT
52#else
53 #define PT_EXPORT
54 #define PT_IMPORT
55#endif
56
57#if defined(PT_API_EXPORT)
58 #define PT_API PT_EXPORT
59#else
60 #define PT_API PT_IMPORT
61#endif
62
63#if ! defined(__NOLOCK_ON_INPUT)
64 // disable locking of iostreams on xlC
65 #define __NOLOCK_ON_INPUT
66#endif
67
68#if ! defined(__NOLOCK_ON_OUTPUT)
69 // disable locking of iostreams on xlC
70 #define __NOLOCK_ON_OUTPUT
71#endif
72
73#ifndef Pt_Api_h
74#define Pt_Api_h
75
85namespace Pt {
86
87 class Allocator;
88 class Any;
89 class Connectable;
90 class Connection;
91 class Date;
92 class DateTime;
93 class Event;
96 class Settings;
97 class SourceInfo;
98 class Time;
99
100}
101
102#endif
Allocator interface.
Definition Allocator.h:82
Value of any copyable type.
Definition Any.h:79
Connection Management for Signal and Slot Objects.
Definition Connectable.h:50
Represents a connection between a Signal/Delegate and a slot.
Definition Connection.h:96
Combined Date and Time value.
Definition DateTime.h:66
Date expressed in year, month, and day.
Definition Date.h:104
Base class for typed events.
Definition Event.h:66
Context for the serialization of types.
Definition Api-SerializationContext.h:26
Represents arbitrary types during serialization.
Definition SerializationInfo.h:59
Hierarchical application settings loaded from text.
Definition Settings.h:135
Source code info class.
Definition SourceInfo.h:101
Time expressed in hours, minutes, seconds and milliseconds.
Definition Time.h:98
Core module.
Definition Allocator.h:33