ufe 5.5
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
CfgCompilerMacros.h File Reference

Macro definition for identifying compilers and there capabilities. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PEPTIDE_ARCH_IS_X86_64   0
 
#define PEPTIDE_ARCH_IS_ARM64   0
 
#define PEPTIDE_IS_CLANG   0
 
#define PEPTIDE_IS_GCC   0
 
#define PEPTIDE_IS_INTEL   0
 
#define PEPTIDE_IS_MSC   0
 
#define PEPTIDE_AT_MOST_MSVC2015   0
 
#define __has_feature(x)   0
 
#define PEPTIDE_CXX20_CAPTURE_THIS
 Lambda capture of 'this' in C++20. More...
 
#define PEPTIDE_HAS_CXX_RTTI   0
 Probe for C++ RTTI support. More...
 
#define PEPTIDE_ENABLE_ECBO
 Force function inlining. More...
 
#define PEPTIDE_EXPORT_UNIX
 Marks a symbol as being externally visible on UNIX platforms. More...
 

Detailed Description

Macro definition for identifying compilers and there capabilities.

Definition in file CfgCompilerMacros.h.

Macro Definition Documentation

◆ __has_feature

#define __has_feature (   x)    0

Definition at line 110 of file CfgCompilerMacros.h.

◆ PEPTIDE_ARCH_IS_ARM64

#define PEPTIDE_ARCH_IS_ARM64   0

Definition at line 47 of file CfgCompilerMacros.h.

◆ PEPTIDE_ARCH_IS_X86_64

#define PEPTIDE_ARCH_IS_X86_64   0

Definition at line 46 of file CfgCompilerMacros.h.

◆ PEPTIDE_AT_MOST_MSVC2015

#define PEPTIDE_AT_MOST_MSVC2015   0

Definition at line 100 of file CfgCompilerMacros.h.

◆ PEPTIDE_CXX20_CAPTURE_THIS

#define PEPTIDE_CXX20_CAPTURE_THIS

Lambda capture of 'this' in C++20.

This macro is used to solve the following issue between C++20 and previous versions of the C++ standard.

auto x = [=] { // Deprecated from C++20:
this->foo();
};
auto y = [=, this] { // Recommended method from C++20:
this->foo(); // [=] The this pointer will not be captured, so
// capture with specifying this
// Unfortunately, VS2019 emits this error in C++17 and it can't be
// disabled!
//
// error C3791: 'this' cannot be explicitly captured when the default
capture
// mode is by copy (=)
};
auto z = [= PEPTIDE_CXX20_CAPTURE_THIS] { // Works everywhere!
this->foo();
};
#define PEPTIDE_CXX20_CAPTURE_THIS
Lambda capture of 'this' in C++20.
See also
https://developercommunity.visualstudio.com/t/c20-deprecated-lambda-capture/420398

Definition at line 147 of file CfgCompilerMacros.h.

◆ PEPTIDE_ENABLE_ECBO

#define PEPTIDE_ENABLE_ECBO

Force function inlining.

This macro provides a hint to the compiler that a function must be inlined. Please refer to your compiler's documentation for additional information regarding how "force inline" behave for your compiler.

Prevent function inlining

This macro provides a hint to the compiler that a function shouldn't be inlined. This can be useful if the function is on a cold path and unlikely to be called. Please refer to your compiler's documentation for additional information regarding how "noinline" behave for your compiler.

Enable Empty Base Class Optimization (ECBO)

This is used to enable ECBO for a given class being declared. For example:

class PEPTIDE_ENABLE_ECBO MyClass : public EmptyBassClass,
public OtherClass
{
...
};
#define PEPTIDE_ENABLE_ECBO
Force function inlining.
See also
https://devblogs.microsoft.com/cppblog/optimizing-the-layout-of-empty-base-classes-in-vs2015-update-2-3

Definition at line 220 of file CfgCompilerMacros.h.

◆ PEPTIDE_EXPORT_UNIX

#define PEPTIDE_EXPORT_UNIX

Marks a symbol as being externally visible on UNIX platforms.

Warning
This macro is only required in special cases. One of those cases is when manually exported templates must be declared as externally visible for the compiler to instantiate them.

Definition at line 235 of file CfgCompilerMacros.h.

◆ PEPTIDE_HAS_CXX_RTTI

#define PEPTIDE_HAS_CXX_RTTI   0

Probe for C++ RTTI support.

Set to 1 if the compiler supports C++ RTTI; 0 otherwise. This depends on the compiler flags being used.

Definition at line 161 of file CfgCompilerMacros.h.

◆ PEPTIDE_IS_CLANG

#define PEPTIDE_IS_CLANG   0

Definition at line 84 of file CfgCompilerMacros.h.

◆ PEPTIDE_IS_GCC

#define PEPTIDE_IS_GCC   0

Definition at line 88 of file CfgCompilerMacros.h.

◆ PEPTIDE_IS_INTEL

#define PEPTIDE_IS_INTEL   0

Definition at line 92 of file CfgCompilerMacros.h.

◆ PEPTIDE_IS_MSC

#define PEPTIDE_IS_MSC   0

Definition at line 96 of file CfgCompilerMacros.h.