| Perspective3D_api Documentation Perspective3D

Espaces de nommage | Macros | Définitions de type | Fonctions
Référence du fichier perspective_sys.h

Détection de la plateforme. Plus de détails...

`#include <cstdint>`
`#include <cstring>`
Graphe des dépendances par inclusion de perspective_sys.h:
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

Aller au code source de ce fichier.

## Espaces de nommage
| PerspectiveSys
| Espace de nommage des fonctions dépendantes de l'architecture.

## Macros
#define | PSYS_PLATEFORME_STR "~"
| Nom du système d'exploitation sous forme de chaine de caractère. Plus de détails...
#define | PSYS_ARCH_STR "~"
| Architecture du processeur sous forme de chaine de caractère. Plus de détails...
#define | PSYS_COMPILATEUR_STR "~"
| Nom du compilateur détecté sous forme de chaine de caractères. Plus de détails...
#define | PSYS_CPP_VERSION __cplusplus
#define | nullptr ((void*) 0)
#define | PSYS_TLS
| Qualificatif variable locale à un thread (GCC, Clang ou MSVC). Plus de détails...
#define | PSYS_restrict
| Mot-clé restrict (du C99) Plus de détails...
#define | F_DEOPTIM
| Désactive l'optimisation du compilateur sur une fonction (GCC). Plus de détails...
#define | F_INLINE inline
| Attribut de fonction force inline (GCC ou Clang)). Plus de détails...
#define | M_INLINE inline
| Attribut de méthode force inline (GCC ou Clang)). Plus de détails...
#define | F_CONST
| Attribut de fonction fonction const (GCC ou Clang). Plus de détails...
#define | F_PURE
| Attribut de fonction fonction pure (GCC ou Clang). Plus de détails...
#define | P_UNUSED(X) ((void)(X))
| Attribut de variable inutilisée (empêche le compilateur d'afficher un message d'avertissement). Plus de détails...
#define | DLL_IMPORT
#define | DLL_EXPORT
#define | DLL_LOCAL
#define | DLL_INTERNAL
#define | FAST_CALL
| Attribut de fonction "fastcall" (GCC ou MSVC) Plus de détails...
#define | DLL_API DLL_IMPORT
| Attribut de classe ou méthode exportée par l'API (GCC, Clang ou MSVC). Donc importé côté client. Plus de détails...
#define | P_INTERDIT_COPIE(CLASSE)
#define | P_INTERDIT_COPIE_TEMPLATE(CLASSE, T)
#define | P_INTERDIT_COPIE_TEMPLATE2(CLASSE, T1, T2)
#define | P_INTERDIT_COPIE_TEMPLATE3(CLASSE, T1, T2, T3)
#define | P_INTERDIT_COPIE_TEMPLATE_N(CLASSE, ...)
#define | EXPLICIT_FALLTHROUGH
| Attribut 'fallthrough' (standard à partir de C++17) pour les opérations de switch. Permet d'ignorer les avertissements du compilateurs dans les etiquettes 'case' ne contenant pas de 'break'. Cela permet d'expliciter au compilateur que l'on souhaite continuer à parcourir le switch sur les étiquettes qui suivent. Plus de détails...
#define | Ptest_ptr(PTR) ((PTR) != nullptr)
#define | Pmemset std::memset
#define | Pmemcpy std::memcpy
#define | Pmemmove std::memmove

## Définitions de type
typedef signed int | pint
| Types entiers. Plus de détails...
typedef unsigned int | puint
typedef signed short | pshort
typedef unsigned short | pushort
typedef signed long long | plong
typedef unsigned long long | pulong
typedef int8_t | pint8
typedef uint8_t | puint8
typedef int16_t | pint16
typedef uint16_t | puint16
typedef int32_t | pint32
typedef uint32_t | puint32
typedef int64_t | pint64
typedef uint64_t | puint64

## Fonctions
M_INLINE bool | PerspectiveSys::PetitBoutisme () F_CONST
| Contrôle l'ordre des octets sur l'architecture actuelle (evalué à l'exécution). Plus de détails...

## Description détaillée

Détection de la plateforme.

Auteur
  Florian Joncour

Date
  2013-2018

Copyright
  Ces sources font partie de l'interface de programmation pour la bibliothèque Perspective3D, un outils de modélisation 3D à partir de vues orthographiques 2D. Ces sources sont fournies à titre gracieux, l'utilisateur a la liberté de les exploiter pour créer des applications dérivées à condition de respecter les conditions suivantes:

      1) Ces sources ne peuvent être modifiées.
      2) Le dérivé ne peut être exploité à des fins commerciaux.
      3) Aucune licence commerciale de la bibliothèque dont est tiré ce fichier ne peut être rendue publique.
      4) Toute application exploitant la présente bibliothèque doit explicitement faire mention de l'usage et du rôle de Perspective3D.

Ces conditions peuvent toutefois être modifiées avec l'accord de l'auteur.

## Documentation des macros

## ◆ DLL_API

#define DLL_API DLL_IMPORT

Attribut de classe ou méthode exportée par l'API (GCC, Clang ou MSVC). Donc importé côté client.

## ◆ DLL_EXPORT

#define DLL_EXPORT

## ◆ DLL_IMPORT

#define DLL_IMPORT

## ◆ DLL_INTERNAL

#define DLL_INTERNAL

## ◆ DLL_LOCAL

#define DLL_LOCAL

## ◆ EXPLICIT_FALLTHROUGH

#define EXPLICIT_FALLTHROUGH

Attribut 'fallthrough' (standard à partir de C++17) pour les opérations de switch. Permet d'ignorer les avertissements du compilateurs dans les etiquettes 'case' ne contenant pas de 'break'. Cela permet d'expliciter au compilateur que l'on souhaite continuer à parcourir le switch sur les étiquettes qui suivent.

Attribut [[fallthrough]]

## ◆ F_CONST

#define F_CONST

Attribut de fonction fonction const (GCC ou Clang).

## ◆ F_DEOPTIM

#define F_DEOPTIM

Désactive l'optimisation du compilateur sur une fonction (GCC).

## ◆ F_INLINE

#define F_INLINE inline

Attribut de fonction force inline (GCC ou Clang)).

## ◆ F_PURE

#define F_PURE

Attribut de fonction fonction pure (GCC ou Clang).

## ◆ FAST_CALL

#define FAST_CALL

Attribut de fonction "fastcall" (GCC ou MSVC)

## ◆ M_INLINE

#define M_INLINE inline

Attribut de méthode force inline (GCC ou Clang)).

## ◆ nullptr

#define nullptr ((void*) 0)

## ◆ P_INTERDIT_COPIE

#define P_INTERDIT_COPIE | ( |  | CLASSE | ) |

Valeur :
CLASSE(const CLASSE &) = delete;\
CLASSE &operator=(const CLASSE &) = delete;

## ◆ P_INTERDIT_COPIE_TEMPLATE

#define P_INTERDIT_COPIE_TEMPLATE | ( |  | CLASSE,
|  |  | T
| ) |  |

Valeur :
CLASSE(const CLASSE<T> &) = delete;\
CLASSE &operator=(const CLASSE<T> &) = delete;

## ◆ P_INTERDIT_COPIE_TEMPLATE2

#define P_INTERDIT_COPIE_TEMPLATE2 | ( |  | CLASSE,
|  |  | T1,
|  |  | T2
| ) |  |

Valeur :
CLASSE(const CLASSE<T1, T2> &) = delete;\
CLASSE &operator=(const CLASSE<T1, T2> &) = delete;

## ◆ P_INTERDIT_COPIE_TEMPLATE3

#define P_INTERDIT_COPIE_TEMPLATE3 | ( |  | CLASSE,
|  |  | T1,
|  |  | T2,
|  |  | T3
| ) |  |

Valeur :
CLASSE(const CLASSE<T1, T2, T3> &) = delete;\
CLASSE &operator=(const CLASSE<T1, T2, T3> &) = delete;

## ◆ P_INTERDIT_COPIE_TEMPLATE_N

#define P_INTERDIT_COPIE_TEMPLATE_N | ( |  | CLASSE,
|  |  | ...
| ) |  |

Valeur :
CLASSE(const CLASSE<__VA_ARGS__> &) = delete;\
CLASSE &operator=(const CLASSE<__VA_ARGS__> &) = delete;

## ◆ P_UNUSED

#define P_UNUSED | ( |  | X | ) | ((void)(X))

Attribut de variable inutilisée (empêche le compilateur d'afficher un message d'avertissement).

## ◆ Pmemcpy

#define Pmemcpy std::memcpy

## ◆ Pmemmove

#define Pmemmove std::memmove

## ◆ Pmemset

#define Pmemset std::memset

## ◆ PSYS_ARCH_STR

#define PSYS_ARCH_STR "~"

Architecture du processeur sous forme de chaine de caractère.

## ◆ PSYS_COMPILATEUR_STR

#define PSYS_COMPILATEUR_STR "~"

Nom du compilateur détecté sous forme de chaine de caractères.

## ◆ PSYS_CPP_VERSION

#define PSYS_CPP_VERSION __cplusplus

## ◆ PSYS_PLATEFORME_STR

#define PSYS_PLATEFORME_STR "~"

Nom du système d'exploitation sous forme de chaine de caractère.

## ◆ PSYS_restrict

#define PSYS_restrict

Mot-clé restrict (du C99)

## ◆ PSYS_TLS

#define PSYS_TLS

Qualificatif variable locale à un thread (GCC, Clang ou MSVC).

## ◆ Ptest_ptr

#define Ptest_ptr | ( |  | PTR | ) | ((PTR) != nullptr)

## Documentation des définitions de type

## ◆ pint

typedef signed int pint

Types entiers.

## ◆ pint16

typedef int16_t pint16

## ◆ pint32

typedef int32_t pint32

## ◆ pint64

typedef int64_t pint64

## ◆ pint8

typedef int8_t pint8

## ◆ plong

typedef signed long long plong

## ◆ pshort

typedef signed short pshort

## ◆ puint

typedef unsigned int puint

## ◆ puint16

typedef uint16_t puint16

## ◆ puint32

typedef uint32_t puint32

## ◆ puint64

typedef uint64_t puint64

## ◆ puint8

typedef uint8_t puint8

## ◆ pulong

typedef unsigned long long pulong

## ◆ pushort

typedef unsigned short pushort