MAke noexcept compiler-specific.

pull/2151/head
kimkulling 2018-09-21 16:25:27 +02:00
parent bf1c002b5d
commit f75bf6d99c
48 changed files with 109 additions and 99 deletions

View File

@ -66,7 +66,7 @@ namespace D3DS {
*/ */
class Discreet3DS { class Discreet3DS {
private: private:
Discreet3DS() noexcept { Discreet3DS() AI_NO_EXCEPT {
// empty // empty
} }
@ -330,7 +330,7 @@ struct Face : public FaceWithSmoothingGroup
/** Helper structure representing a texture */ /** Helper structure representing a texture */
struct Texture { struct Texture {
//! Default constructor //! Default constructor
Texture() noexcept Texture() AI_NO_EXCEPT
: mOffsetU (0.0) : mOffsetU (0.0)
, mOffsetV (0.0) , mOffsetV (0.0)
, mScaleU (1.0) , mScaleU (1.0)
@ -392,7 +392,7 @@ struct Material
//! Move constructor. This is explicitly written because MSVC doesn't support defaulting it //! Move constructor. This is explicitly written because MSVC doesn't support defaulting it
Material(Material &&other) noexcept Material(Material &&other) AI_NO_EXCEPT
: mName(std::move(other.mName)) : mName(std::move(other.mName))
, mDiffuse(std::move(other.mDiffuse)) , mDiffuse(std::move(other.mDiffuse))
, mSpecularExponent(std::move(other.mSpecularExponent)) , mSpecularExponent(std::move(other.mSpecularExponent))
@ -416,7 +416,7 @@ struct Material
} }
Material &operator=(Material &&other) noexcept { Material &operator=(Material &&other) AI_NO_EXCEPT {
if (this == &other) { if (this == &other) {
return *this; return *this;
} }

View File

@ -392,7 +392,7 @@ private:
public: public:
/// Default constructor. /// Default constructor.
AMFImporter() noexcept AMFImporter() AI_NO_EXCEPT
: mNodeElement_Cur(nullptr) : mNodeElement_Cur(nullptr)
, mReader(nullptr) { , mReader(nullptr) {
// empty // empty

View File

@ -85,7 +85,7 @@ struct Material : public D3DS::Material
//! Move constructor. This is explicitly written because MSVC doesn't support defaulting it //! Move constructor. This is explicitly written because MSVC doesn't support defaulting it
Material(Material &&other) noexcept Material(Material &&other) AI_NO_EXCEPT
: D3DS::Material(std::move(other)) : D3DS::Material(std::move(other))
, avSubMaterials(std::move(other.avSubMaterials)) , avSubMaterials(std::move(other.avSubMaterials))
, pcInstance(std::move(other.pcInstance)) , pcInstance(std::move(other.pcInstance))
@ -95,7 +95,7 @@ struct Material : public D3DS::Material
} }
Material &operator=(Material &&other) noexcept { Material &operator=(Material &&other) AI_NO_EXCEPT {
if (this == &other) { if (this == &other) {
return *this; return *this;
} }
@ -129,7 +129,7 @@ struct Material : public D3DS::Material
/** Helper structure to represent an ASE file face */ /** Helper structure to represent an ASE file face */
struct Face : public FaceWithSmoothingGroup { struct Face : public FaceWithSmoothingGroup {
//! Default constructor. Initializes everything with 0 //! Default constructor. Initializes everything with 0
Face() noexcept Face() AI_NO_EXCEPT
: amUVIndices{0} : amUVIndices{0}
, mColorIndices{0} , mColorIndices{0}
, iMaterial(DEFAULT_MATINDEX) , iMaterial(DEFAULT_MATINDEX)
@ -197,7 +197,7 @@ struct Animation
TCB = 0x2 TCB = 0x2
} mRotationType, mScalingType, mPositionType; } mRotationType, mScalingType, mPositionType;
Animation() noexcept Animation() AI_NO_EXCEPT
: mRotationType (TRACK) : mRotationType (TRACK)
, mScalingType (TRACK) , mScalingType (TRACK)
, mPositionType (TRACK) , mPositionType (TRACK)
@ -218,7 +218,7 @@ struct Animation
/** Helper structure to represent the inheritance information of an ASE node */ /** Helper structure to represent the inheritance information of an ASE node */
struct InheritanceInfo { struct InheritanceInfo {
//! Default constructor //! Default constructor
InheritanceInfo() noexcept InheritanceInfo() AI_NO_EXCEPT
: abInheritPosition{true} : abInheritPosition{true}
, abInheritRotation{true} , abInheritRotation{true}
, abInheritScaling{true} { , abInheritScaling{true} {
@ -389,7 +389,7 @@ struct Camera : public BaseNode
/** Helper structure to represent an ASE helper object (dummy) */ /** Helper structure to represent an ASE helper object (dummy) */
struct Dummy : public BaseNode { struct Dummy : public BaseNode {
//! Constructor //! Constructor
Dummy() noexcept Dummy() AI_NO_EXCEPT
: BaseNode (BaseNode::Dummy, "DUMMY") { : BaseNode (BaseNode::Dummy, "DUMMY") {
// empty // empty
} }
@ -408,7 +408,7 @@ struct Dummy : public BaseNode {
*/ */
class Parser { class Parser {
private: private:
Parser() noexcept { Parser() AI_NO_EXCEPT {
// empty // empty
} }

View File

@ -65,7 +65,7 @@ using namespace Assimp;
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
// Constructor to be privately used by Importer // Constructor to be privately used by Importer
BaseImporter::BaseImporter() noexcept BaseImporter::BaseImporter() AI_NO_EXCEPT
: m_progress() { : m_progress() {
// nothing to do here // nothing to do here
} }

View File

@ -53,7 +53,7 @@ using namespace Assimp;
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
// Constructor to be privately used by Importer // Constructor to be privately used by Importer
BaseProcess::BaseProcess() noexcept BaseProcess::BaseProcess() AI_NO_EXCEPT
: shared() : shared()
, progress() , progress()
{ {

View File

@ -216,7 +216,7 @@ class ASSIMP_API_WINONLY BaseProcess {
public: public:
/** Constructor to be privately used by Importer */ /** Constructor to be privately used by Importer */
BaseProcess() noexcept; BaseProcess() AI_NO_EXCEPT;
/** Destructor, private as well */ /** Destructor, private as well */
virtual ~BaseProcess(); virtual ~BaseProcess();

View File

@ -120,11 +120,11 @@ public:
SharedPostProcessInfo* mPPShared; SharedPostProcessInfo* mPPShared;
/// The default class constructor. /// The default class constructor.
ImporterPimpl() noexcept; ImporterPimpl() AI_NO_EXCEPT;
}; };
inline inline
ImporterPimpl::ImporterPimpl() noexcept ImporterPimpl::ImporterPimpl() AI_NO_EXCEPT
: mIOHandler( nullptr ) : mIOHandler( nullptr )
, mIsDefaultHandler( false ) , mIsDefaultHandler( false )
, mProgressHandler( nullptr ) , mProgressHandler( nullptr )

View File

@ -114,7 +114,7 @@ enum PrePostBehaviour
/** \brief Data structure for a LWO animation keyframe /** \brief Data structure for a LWO animation keyframe
*/ */
struct Key { struct Key {
Key() noexcept Key() AI_NO_EXCEPT
: time() : time()
, value() , value()
, inter(IT_LINE) , inter(IT_LINE)
@ -145,7 +145,7 @@ struct Key {
/** \brief Data structure for a LWO animation envelope /** \brief Data structure for a LWO animation envelope
*/ */
struct Envelope { struct Envelope {
Envelope() noexcept Envelope() AI_NO_EXCEPT
: index() : index()
, type(EnvelopeType_Unknown) , type(EnvelopeType_Unknown)
, pre(PrePostBehaviour_Constant) , pre(PrePostBehaviour_Constant)

View File

@ -263,7 +263,7 @@ namespace LWO {
*/ */
struct Face : public aiFace { struct Face : public aiFace {
//! Default construction //! Default construction
Face() noexcept Face() AI_NO_EXCEPT
: surfaceIndex( 0 ) : surfaceIndex( 0 )
, smoothGroup( 0 ) , smoothGroup( 0 )
, type( AI_LWO_FACE ) { , type( AI_LWO_FACE ) {

View File

@ -120,7 +120,7 @@ public:
{ {
unsigned int mBone; ///< Index of the bone unsigned int mBone; ///< Index of the bone
float mWeight; ///< Weight of that bone on this vertex float mWeight; ///< Weight of that bone on this vertex
Weight() noexcept Weight() AI_NO_EXCEPT
: mBone(0) : mBone(0)
, mWeight(0.0f) , mWeight(0.0f)
{ } { }

View File

@ -125,7 +125,7 @@ enum AlphaTestFunc
*/ */
struct ShaderMapBlock struct ShaderMapBlock
{ {
ShaderMapBlock() noexcept ShaderMapBlock() AI_NO_EXCEPT
: blend_src (BLEND_NONE) : blend_src (BLEND_NONE)
, blend_dest (BLEND_NONE) , blend_dest (BLEND_NONE)
, alpha_test (AT_NONE) , alpha_test (AT_NONE)
@ -150,7 +150,7 @@ struct ShaderMapBlock
*/ */
struct ShaderDataBlock struct ShaderDataBlock
{ {
ShaderDataBlock() noexcept ShaderDataBlock() AI_NO_EXCEPT
: cull (CULL_CW) : cull (CULL_CW)
{} {}

View File

@ -193,7 +193,7 @@ typedef std::vector< FrameDesc > FrameList;
/** Represents a vertex descriptor in a MD5 file /** Represents a vertex descriptor in a MD5 file
*/ */
struct VertexDesc { struct VertexDesc {
VertexDesc() noexcept VertexDesc() AI_NO_EXCEPT
: mFirstWeight(0) : mFirstWeight(0)
, mNumWeights(0) { , mNumWeights(0) {
// empty // empty

View File

@ -118,7 +118,7 @@ struct Surface
uint32_t ulOffsetFrameBaseFrames ; uint32_t ulOffsetFrameBaseFrames ;
uint32_t ulOffsetFrameCompFrames ; uint32_t ulOffsetFrameCompFrames ;
uint32_t ulOffsetEnd; uint32_t ulOffsetEnd;
Surface() noexcept Surface() AI_NO_EXCEPT
: ulIdent() : ulIdent()
, ucName{ 0 } , ucName{ 0 }
, ulFlags() , ulFlags()

View File

@ -717,7 +717,7 @@ struct GroupFrame
*/ */
struct IntFace_MDL7 { struct IntFace_MDL7 {
// provide a constructor for our own convenience // provide a constructor for our own convenience
IntFace_MDL7() noexcept IntFace_MDL7() AI_NO_EXCEPT
: mIndices { 0 } : mIndices { 0 }
, iMatIndex{ 0 } { , iMatIndex{ 0 } {
// empty // empty
@ -738,7 +738,7 @@ struct IntFace_MDL7 {
*/ */
struct IntMaterial_MDL7 { struct IntMaterial_MDL7 {
// provide a constructor for our own convenience // provide a constructor for our own convenience
IntMaterial_MDL7() noexcept IntMaterial_MDL7() AI_NO_EXCEPT
: pcMat( nullptr ) : pcMat( nullptr )
, iOldMatIndices{ 0 } { , iOldMatIndices{ 0 } {
// empty // empty
@ -759,7 +759,7 @@ struct IntMaterial_MDL7 {
struct IntBone_MDL7 : aiBone struct IntBone_MDL7 : aiBone
{ {
//! Default constructor //! Default constructor
IntBone_MDL7() noexcept : iParent (0xffff) IntBone_MDL7() AI_NO_EXCEPT : iParent (0xffff)
{ {
pkeyPositions.reserve(30); pkeyPositions.reserve(30);
pkeyScalings.reserve(30); pkeyScalings.reserve(30);
@ -804,7 +804,7 @@ struct IntFrameInfo_MDL7
struct IntGroupInfo_MDL7 struct IntGroupInfo_MDL7
{ {
//! Default constructor //! Default constructor
IntGroupInfo_MDL7() noexcept IntGroupInfo_MDL7() AI_NO_EXCEPT
: iIndex(0) : iIndex(0)
, pcGroup(nullptr) , pcGroup(nullptr)
, pcGroupUVs(nullptr) , pcGroupUVs(nullptr)
@ -841,7 +841,7 @@ struct IntGroupInfo_MDL7
//! Holds the data that belongs to a MDL7 mesh group //! Holds the data that belongs to a MDL7 mesh group
struct IntGroupData_MDL7 struct IntGroupData_MDL7
{ {
IntGroupData_MDL7() noexcept IntGroupData_MDL7() AI_NO_EXCEPT
: bNeed2UV(false) : bNeed2UV(false)
{} {}
@ -872,7 +872,7 @@ struct IntGroupData_MDL7
//! Holds data from an MDL7 file that is shared by all mesh groups //! Holds data from an MDL7 file that is shared by all mesh groups
struct IntSharedData_MDL7 { struct IntSharedData_MDL7 {
//! Default constructor //! Default constructor
IntSharedData_MDL7() noexcept IntSharedData_MDL7() AI_NO_EXCEPT
: apcOutBones(), : apcOutBones(),
iNum() iNum()
{ {

View File

@ -77,7 +77,7 @@ public:
/** @brief Internal utility to store additional mesh info /** @brief Internal utility to store additional mesh info
*/ */
struct MeshInfo { struct MeshInfo {
MeshInfo() noexcept MeshInfo() AI_NO_EXCEPT
: instance_cnt(0) : instance_cnt(0)
, vertex_format(0) , vertex_format(0)
, output_id(0xffffffff) { , output_id(0xffffffff) {

View File

@ -209,7 +209,7 @@ enum EElementSemantic {
class Property { class Property {
public: public:
//! Default constructor //! Default constructor
Property() noexcept Property() AI_NO_EXCEPT
: eType (EDT_Int) : eType (EDT_Int)
, Semantic() , Semantic()
, bIsList(false) , bIsList(false)
@ -257,7 +257,7 @@ public:
class Element { class Element {
public: public:
//! Default constructor //! Default constructor
Element() noexcept Element() AI_NO_EXCEPT
: eSemantic (EEST_INVALID) : eSemantic (EEST_INVALID)
, NumOccur(0) { , NumOccur(0) {
// empty // empty
@ -297,7 +297,7 @@ class PropertyInstance
public: public:
//! Default constructor //! Default constructor
PropertyInstance() noexcept { PropertyInstance() AI_NO_EXCEPT {
// empty // empty
} }
@ -360,7 +360,7 @@ public:
class ElementInstance { class ElementInstance {
public: public:
//! Default constructor //! Default constructor
ElementInstance() noexcept ElementInstance() AI_NO_EXCEPT
: alProperties() { : alProperties() {
// empty // empty
} }
@ -387,7 +387,7 @@ class ElementInstanceList
public: public:
//! Default constructor //! Default constructor
ElementInstanceList() noexcept ElementInstanceList() AI_NO_EXCEPT
: alInstances() { : alInstances() {
// empty // empty
} }
@ -414,7 +414,7 @@ class DOM
public: public:
//! Default constructor //! Default constructor
DOM() noexcept DOM() AI_NO_EXCEPT
: alElements() : alElements()
, alElementData() { , alElementData() {

View File

@ -69,7 +69,7 @@ namespace SMD {
/** Data structure for a vertex in a SMD file /** Data structure for a vertex in a SMD file
*/ */
struct Vertex { struct Vertex {
Vertex() noexcept Vertex() AI_NO_EXCEPT
: iParentNode(UINT_MAX) { : iParentNode(UINT_MAX) {
// empty // empty
} }
@ -91,7 +91,7 @@ struct Vertex {
/** Data structure for a face in a SMD file /** Data structure for a face in a SMD file
*/ */
struct Face { struct Face {
Face() noexcept Face() AI_NO_EXCEPT
: iTexture(0x0) : iTexture(0x0)
, avVertices{} { , avVertices{} {
// empty // empty
@ -109,7 +109,7 @@ struct Face {
*/ */
struct Bone { struct Bone {
//! Default constructor //! Default constructor
Bone() noexcept Bone() AI_NO_EXCEPT
: iParent(UINT_MAX) : iParent(UINT_MAX)
, bIsUsed(false) { , bIsUsed(false) {
// empty // empty
@ -129,7 +129,7 @@ struct Bone {
//! Animation of the bone //! Animation of the bone
struct Animation { struct Animation {
//! Public default constructor //! Public default constructor
Animation() noexcept Animation() AI_NO_EXCEPT
: iFirstTimeKey() { : iFirstTimeKey() {
asKeys.reserve(20); asKeys.reserve(20);
} }

View File

@ -56,7 +56,7 @@ class Importer;
struct ScenePrivateData { struct ScenePrivateData {
// The struct constructor. // The struct constructor.
ScenePrivateData() noexcept; ScenePrivateData() AI_NO_EXCEPT;
// Importer that originally loaded the scene though the C-API // Importer that originally loaded the scene though the C-API
// If set, this object is owned by this private data instance. // If set, this object is owned by this private data instance.
@ -74,7 +74,7 @@ struct ScenePrivateData {
}; };
inline inline
ScenePrivateData::ScenePrivateData() noexcept ScenePrivateData::ScenePrivateData() AI_NO_EXCEPT
: mOrigImporter( nullptr ) : mOrigImporter( nullptr )
, mPPStepsApplied( 0 ) , mPPStepsApplied( 0 )
, mIsCopy( false ) { , mIsCopy( false ) {

View File

@ -66,7 +66,7 @@ namespace Assimp {
* to be able to update some values quickly. * to be able to update some values quickly.
*/ */
struct TTUpdateInfo { struct TTUpdateInfo {
TTUpdateInfo() noexcept TTUpdateInfo() AI_NO_EXCEPT
: directShortcut(nullptr) : directShortcut(nullptr)
, mat(nullptr) , mat(nullptr)
, semantic(0) , semantic(0)
@ -89,7 +89,7 @@ struct TTUpdateInfo {
/** Helper class representing texture coordinate transformations /** Helper class representing texture coordinate transformations
*/ */
struct STransformVecInfo : public aiUVTransform { struct STransformVecInfo : public aiUVTransform {
STransformVecInfo() noexcept STransformVecInfo() AI_NO_EXCEPT
: uvIndex(0) : uvIndex(0)
, mapU(aiTextureMapMode_Wrap) , mapU(aiTextureMapMode_Wrap)
, mapV(aiTextureMapMode_Wrap) , mapV(aiTextureMapMode_Wrap)

View File

@ -68,7 +68,7 @@ struct TexEntry {
std::string mName; std::string mName;
bool mIsNormalMap; // true if the texname was specified in a NormalmapFilename tag bool mIsNormalMap; // true if the texname was specified in a NormalmapFilename tag
TexEntry() noexcept TexEntry() AI_NO_EXCEPT
: mName() : mName()
, mIsNormalMap(false) { , mIsNormalMap(false) {
// empty // empty
@ -91,7 +91,7 @@ struct Material {
std::vector<TexEntry> mTextures; std::vector<TexEntry> mTextures;
size_t sceneIndex; ///< the index under which it was stored in the scene's material list size_t sceneIndex; ///< the index under which it was stored in the scene's material list
Material() noexcept Material() AI_NO_EXCEPT
: mIsReference(false) : mIsReference(false)
, mSpecularExponent() , mSpecularExponent()
, sceneIndex(SIZE_MAX) { , sceneIndex(SIZE_MAX) {
@ -130,7 +130,7 @@ struct Mesh {
std::vector<Bone> mBones; std::vector<Bone> mBones;
explicit Mesh(const std::string &pName = "") noexcept explicit Mesh(const std::string &pName = "") AI_NO_EXCEPT
: mName( pName ) : mName( pName )
, mPositions() , mPositions()
, mPosFaces() , mPosFaces()
@ -155,7 +155,7 @@ struct Node {
std::vector<Node*> mChildren; std::vector<Node*> mChildren;
std::vector<Mesh*> mMeshes; std::vector<Mesh*> mMeshes;
Node() noexcept Node() AI_NO_EXCEPT
: mName() : mName()
, mTrafoMatrix() , mTrafoMatrix()
, mParent(nullptr) , mParent(nullptr)
@ -220,7 +220,7 @@ struct Scene
std::vector<Animation*> mAnims; std::vector<Animation*> mAnims;
unsigned int mAnimTicksPerSecond; unsigned int mAnimTicksPerSecond;
Scene() noexcept Scene() AI_NO_EXCEPT
: mRootNode(nullptr) : mRootNode(nullptr)
, mGlobalMeshes() , mGlobalMeshes()
, mGlobalMaterials() , mGlobalMaterials()

View File

@ -21,7 +21,7 @@ class array
{ {
public: public:
array() noexcept array()
: data(0), allocated(0), used(0), : data(0), allocated(0), used(0),
free_when_destroyed(true), is_sorted(true) free_when_destroyed(true), is_sorted(true)
{ {

View File

@ -83,7 +83,7 @@ class ASSIMP_API BaseImporter {
public: public:
/** Constructor to be privately used by #Importer */ /** Constructor to be privately used by #Importer */
BaseImporter() noexcept; BaseImporter() AI_NO_EXCEPT;
/** Destructor, private as well */ /** Destructor, private as well */
virtual ~BaseImporter(); virtual ~BaseImporter();

View File

@ -61,7 +61,7 @@ namespace Assimp {
* and vice versa. Direct use of this class is DEPRECATED. Use #StreamReader instead. */ * and vice versa. Direct use of this class is DEPRECATED. Use #StreamReader instead. */
// -------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------
class ByteSwap { class ByteSwap {
ByteSwap() noexcept {} ByteSwap() AI_NO_EXCEPT {}
public: public:

View File

@ -69,7 +69,7 @@ class ASSIMP_API DefaultIOStream : public IOStream
#endif // __ANDROID__ #endif // __ANDROID__
protected: protected:
DefaultIOStream() noexcept; DefaultIOStream() AI_NO_EXCEPT;
DefaultIOStream(FILE* pFile, const std::string &strFilename); DefaultIOStream(FILE* pFile, const std::string &strFilename);
public: public:
@ -117,7 +117,7 @@ private:
// ---------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------
inline inline
DefaultIOStream::DefaultIOStream() noexcept DefaultIOStream::DefaultIOStream() AI_NO_EXCEPT
: mFile(nullptr) : mFile(nullptr)
, mFilename("") , mFilename("")
, mCachedSize(SIZE_MAX) { , mCachedSize(SIZE_MAX) {

View File

@ -71,7 +71,7 @@ class ASSIMP_API IOStream
{ {
protected: protected:
/** Constructor protected, use IOSystem::Open() to create an instance. */ /** Constructor protected, use IOSystem::Open() to create an instance. */
IOStream() noexcept; IOStream() AI_NO_EXCEPT;
public: public:
// ------------------------------------------------------------------- // -------------------------------------------------------------------
@ -126,7 +126,7 @@ public:
// ---------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------
inline inline
IOStream::IOStream() noexcept { IOStream::IOStream() AI_NO_EXCEPT {
// empty // empty
} }

View File

@ -95,7 +95,7 @@ public:
* Create an instance of your derived class and assign it to an * Create an instance of your derived class and assign it to an
* #Assimp::Importer instance by calling Importer::SetIOHandler(). * #Assimp::Importer instance by calling Importer::SetIOHandler().
*/ */
IOSystem() noexcept; IOSystem() AI_NO_EXCEPT;
// ------------------------------------------------------------------- // -------------------------------------------------------------------
/** @brief Virtual destructor. /** @brief Virtual destructor.
@ -230,7 +230,7 @@ private:
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
AI_FORCE_INLINE AI_FORCE_INLINE
IOSystem::IOSystem() noexcept IOSystem::IOSystem() AI_NO_EXCEPT
: m_pathStack() { : m_pathStack() {
// empty // empty
} }

View File

@ -65,7 +65,7 @@ class ASSIMP_API LogStream
{ {
protected: protected:
/** @brief Default constructor */ /** @brief Default constructor */
LogStream() noexcept; LogStream() AI_NO_EXCEPT;
public: public:
/** @brief Virtual destructor */ /** @brief Virtual destructor */
@ -96,7 +96,7 @@ public:
}; // !class LogStream }; // !class LogStream
inline inline
LogStream::LogStream() noexcept { LogStream::LogStream() AI_NO_EXCEPT {
// empty // empty
} }

View File

@ -161,7 +161,7 @@ protected:
/** /**
* Default constructor * Default constructor
*/ */
Logger() noexcept; Logger() AI_NO_EXCEPT;
/** /**
* Construction with a given log severity * Construction with a given log severity
@ -215,7 +215,7 @@ protected:
// ---------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------
// Default constructor // Default constructor
inline inline
Logger::Logger() noexcept Logger::Logger() AI_NO_EXCEPT
: m_Severity(NORMAL) { : m_Severity(NORMAL) {
// empty // empty
} }

View File

@ -63,7 +63,7 @@ class ASSIMP_API ProgressHandler
{ {
protected: protected:
/** @brief Default constructor */ /** @brief Default constructor */
ProgressHandler () noexcept { ProgressHandler () AI_NO_EXCEPT {
} }
public: public:
/** @brief Virtual destructor */ /** @brief Virtual destructor */

View File

@ -120,7 +120,7 @@ protected:
uint32_t mSmoothGroups; uint32_t mSmoothGroups;
float mDistance; ///< Distance of this vertex to the sorting plane float mDistance; ///< Distance of this vertex to the sorting plane
Entry() noexcept Entry() AI_NO_EXCEPT
: mIndex(0) : mIndex(0)
, mPosition() , mPosition()
, mSmoothGroups(0) , mSmoothGroups(0)

View File

@ -53,7 +53,7 @@ http://www.jalix.org/ressources/graphics/3DS/_unofficials/3ds-unofficial.txt */
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
/** Helper structure representing a face with smoothing groups assigned */ /** Helper structure representing a face with smoothing groups assigned */
struct FaceWithSmoothingGroup { struct FaceWithSmoothingGroup {
FaceWithSmoothingGroup() noexcept FaceWithSmoothingGroup() AI_NO_EXCEPT
: mIndices() : mIndices()
, iSmoothGroup(0) { , iSmoothGroup(0) {
// in debug builds set all indices to a common magic value // in debug builds set all indices to a common magic value

View File

@ -153,7 +153,7 @@ protected:
aiVector3D mPosition; ///< Position aiVector3D mPosition; ///< Position
ai_real mDistance; ///< Distance of this vertex to the sorting plane ai_real mDistance; ///< Distance of this vertex to the sorting plane
Entry() noexcept Entry() AI_NO_EXCEPT
: mIndex( 999999999 ), mPosition(), mDistance( 99999. ) { : mIndex( 999999999 ), mPosition(), mDistance( 99999. ) {
// empty // empty
} }

View File

@ -70,7 +70,7 @@ struct aiVectorKey
#ifdef __cplusplus #ifdef __cplusplus
/// @brief The default constructor. /// @brief The default constructor.
aiVectorKey() noexcept aiVectorKey() AI_NO_EXCEPT
: mTime( 0.0 ) : mTime( 0.0 )
, mValue() { , mValue() {
// empty // empty
@ -116,7 +116,7 @@ struct aiQuatKey
C_STRUCT aiQuaternion mValue; C_STRUCT aiQuaternion mValue;
#ifdef __cplusplus #ifdef __cplusplus
aiQuatKey() noexcept aiQuatKey() AI_NO_EXCEPT
: mTime( 0.0 ) : mTime( 0.0 )
, mValue() { , mValue() {
// empty // empty
@ -163,7 +163,7 @@ struct aiMeshKey
#ifdef __cplusplus #ifdef __cplusplus
aiMeshKey() noexcept aiMeshKey() AI_NO_EXCEPT
: mTime(0.0) : mTime(0.0)
, mValue(0) , mValue(0)
{ {
@ -210,7 +210,7 @@ struct aiMeshMorphKey
/** The number of values and weights */ /** The number of values and weights */
unsigned int mNumValuesAndWeights; unsigned int mNumValuesAndWeights;
#ifdef __cplusplus #ifdef __cplusplus
aiMeshMorphKey() noexcept aiMeshMorphKey() AI_NO_EXCEPT
: mTime(0.0) : mTime(0.0)
, mValues(nullptr) , mValues(nullptr)
, mWeights(nullptr) , mWeights(nullptr)
@ -324,7 +324,7 @@ struct aiNodeAnim {
C_ENUM aiAnimBehaviour mPostState; C_ENUM aiAnimBehaviour mPostState;
#ifdef __cplusplus #ifdef __cplusplus
aiNodeAnim() noexcept aiNodeAnim() AI_NO_EXCEPT
: mNumPositionKeys( 0 ) : mNumPositionKeys( 0 )
, mPositionKeys( nullptr ) , mPositionKeys( nullptr )
, mNumRotationKeys( 0 ) , mNumRotationKeys( 0 )
@ -366,7 +366,7 @@ struct aiMeshAnim
#ifdef __cplusplus #ifdef __cplusplus
aiMeshAnim() noexcept aiMeshAnim() AI_NO_EXCEPT
: mNumKeys() : mNumKeys()
, mKeys() , mKeys()
{} {}
@ -397,7 +397,7 @@ struct aiMeshMorphAnim
#ifdef __cplusplus #ifdef __cplusplus
aiMeshMorphAnim() noexcept aiMeshMorphAnim() AI_NO_EXCEPT
: mNumKeys() : mNumKeys()
, mKeys() , mKeys()
{} {}
@ -451,7 +451,7 @@ struct aiAnimation {
C_STRUCT aiMeshMorphAnim **mMorphMeshChannels; C_STRUCT aiMeshMorphAnim **mMorphMeshChannels;
#ifdef __cplusplus #ifdef __cplusplus
aiAnimation() noexcept aiAnimation() AI_NO_EXCEPT
: mDuration(-1.) : mDuration(-1.)
, mTicksPerSecond(0.) , mTicksPerSecond(0.)
, mNumChannels(0) , mNumChannels(0)

View File

@ -174,7 +174,7 @@ struct aiCamera
#ifdef __cplusplus #ifdef __cplusplus
aiCamera() noexcept aiCamera() AI_NO_EXCEPT
: mUp (0.f,1.f,0.f) : mUp (0.f,1.f,0.f)
, mLookAt (0.f,0.f,1.f) , mLookAt (0.f,0.f,1.f)
, mHorizontalFOV (0.25f * (float)AI_MATH_PI) , mHorizontalFOV (0.25f * (float)AI_MATH_PI)

View File

@ -59,7 +59,7 @@ template <typename TReal>
class aiColor4t class aiColor4t
{ {
public: public:
aiColor4t() noexcept : r(), g(), b(), a() {} aiColor4t() AI_NO_EXCEPT : r(), g(), b(), a() {}
aiColor4t (TReal _r, TReal _g, TReal _b, TReal _a) aiColor4t (TReal _r, TReal _g, TReal _b, TReal _a)
: r(_r), g(_g), b(_b), a(_a) {} : r(_r), g(_g), b(_b), a(_a) {}
explicit aiColor4t (TReal _r) : r(_r), g(_r), b(_r), a(_r) {} explicit aiColor4t (TReal _r) : r(_r), g(_r), b(_r), a(_r) {}

View File

@ -289,4 +289,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#define AI_MAX_ALLOC(type) ((256U * 1024 * 1024) / sizeof(type)) #define AI_MAX_ALLOC(type) ((256U * 1024 * 1024) / sizeof(type))
#ifndef _MSC_VER
# define AI_NO_EXCEPT noexcept
#else
# if (_MSC_VER == 1915 )
# define AI_NO_EXCEPT noexcept
# else
# define AI_NO_EXCEPT
# endif
#endif
#endif // !! AI_DEFINES_H_INC #endif // !! AI_DEFINES_H_INC

View File

@ -237,7 +237,7 @@ struct aiLight
#ifdef __cplusplus #ifdef __cplusplus
aiLight() noexcept aiLight() AI_NO_EXCEPT
: mType (aiLightSource_UNDEFINED) : mType (aiLightSource_UNDEFINED)
, mAttenuationConstant (0.f) , mAttenuationConstant (0.f)
, mAttenuationLinear (1.f) , mAttenuationLinear (1.f)

View File

@ -483,7 +483,7 @@ struct aiUVTransform
#ifdef __cplusplus #ifdef __cplusplus
aiUVTransform() noexcept aiUVTransform() AI_NO_EXCEPT
: mTranslation (0.0,0.0) : mTranslation (0.0,0.0)
, mScaling (1.0,1.0) , mScaling (1.0,1.0)
, mRotation (0.0) , mRotation (0.0)
@ -607,7 +607,7 @@ struct aiMaterialProperty
#ifdef __cplusplus #ifdef __cplusplus
aiMaterialProperty() noexcept aiMaterialProperty() AI_NO_EXCEPT
: mSemantic( 0 ) : mSemantic( 0 )
, mIndex( 0 ) , mIndex( 0 )
, mDataLength( 0 ) , mDataLength( 0 )

View File

@ -69,7 +69,7 @@ class aiMatrix3x3t
{ {
public: public:
aiMatrix3x3t() noexcept : aiMatrix3x3t() AI_NO_EXCEPT :
a1(static_cast<TReal>(1.0f)), a2(), a3(), a1(static_cast<TReal>(1.0f)), a2(), a3(),
b1(), b2(static_cast<TReal>(1.0f)), b3(), b1(), b2(static_cast<TReal>(1.0f)), b3(),
c1(), c2(), c3(static_cast<TReal>(1.0f)) {} c1(), c2(), c3(static_cast<TReal>(1.0f)) {}

View File

@ -71,7 +71,7 @@ class aiMatrix4x4t
public: public:
/** set to identity */ /** set to identity */
aiMatrix4x4t() noexcept; aiMatrix4x4t() AI_NO_EXCEPT;
/** construction from single values */ /** construction from single values */
aiMatrix4x4t ( TReal _a1, TReal _a2, TReal _a3, TReal _a4, aiMatrix4x4t ( TReal _a1, TReal _a2, TReal _a3, TReal _a4,

View File

@ -60,7 +60,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// ---------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------
template <typename TReal> template <typename TReal>
aiMatrix4x4t<TReal>::aiMatrix4x4t() noexcept : aiMatrix4x4t<TReal>::aiMatrix4x4t() AI_NO_EXCEPT :
a1(1.0f), a2(), a3(), a4(), a1(1.0f), a2(), a3(), a4(),
b1(), b2(1.0f), b3(), b4(), b1(), b2(1.0f), b3(), b4(),
c1(), c2(), c3(1.0f), c4(), c1(), c2(), c3(1.0f), c4(),

View File

@ -136,7 +136,7 @@ struct aiFace
#ifdef __cplusplus #ifdef __cplusplus
//! Default constructor //! Default constructor
aiFace() noexcept aiFace() AI_NO_EXCEPT
: mNumIndices( 0 ) : mNumIndices( 0 )
, mIndices( nullptr ) { , mIndices( nullptr ) {
// empty // empty
@ -220,7 +220,7 @@ struct aiVertexWeight {
#ifdef __cplusplus #ifdef __cplusplus
//! Default constructor //! Default constructor
aiVertexWeight() noexcept aiVertexWeight() AI_NO_EXCEPT
: mVertexId(0) : mVertexId(0)
, mWeight(0.0f) { , mWeight(0.0f) {
// empty // empty
@ -282,7 +282,7 @@ struct aiBone {
#ifdef __cplusplus #ifdef __cplusplus
//! Default constructor //! Default constructor
aiBone() noexcept aiBone() AI_NO_EXCEPT
: mName() : mName()
, mNumWeights( 0 ) , mNumWeights( 0 )
, mWeights( nullptr ) , mWeights( nullptr )
@ -454,7 +454,7 @@ struct aiAnimMesh
#ifdef __cplusplus #ifdef __cplusplus
aiAnimMesh() noexcept aiAnimMesh() AI_NO_EXCEPT
: mVertices( nullptr ) : mVertices( nullptr )
, mNormals(nullptr) , mNormals(nullptr)
, mTangents(nullptr) , mTangents(nullptr)
@ -715,7 +715,7 @@ struct aiMesh
#ifdef __cplusplus #ifdef __cplusplus
//! Default constructor. Initializes all members to 0 //! Default constructor. Initializes all members to 0
aiMesh() noexcept aiMesh() AI_NO_EXCEPT
: mPrimitiveTypes( 0 ) : mPrimitiveTypes( 0 )
, mNumVertices( 0 ) , mNumVertices( 0 )
, mNumFaces( 0 ) , mNumFaces( 0 )

View File

@ -129,7 +129,7 @@ struct aiMetadata {
/** /**
* @brief The default constructor, set all members to zero by default. * @brief The default constructor, set all members to zero by default.
*/ */
aiMetadata() noexcept aiMetadata() AI_NO_EXCEPT
: mNumProperties(0) : mNumProperties(0)
, mKeys(nullptr) , mKeys(nullptr)
, mValues(nullptr) { , mValues(nullptr) {

View File

@ -60,7 +60,7 @@ template <typename TReal>
class aiQuaterniont class aiQuaterniont
{ {
public: public:
aiQuaterniont() noexcept : w(1.0), x(), y(), z() {} aiQuaterniont() AI_NO_EXCEPT : w(1.0), x(), y(), z() {}
aiQuaterniont(TReal pw, TReal px, TReal py, TReal pz) aiQuaterniont(TReal pw, TReal px, TReal py, TReal pz)
: w(pw), x(px), y(py), z(pz) {} : w(pw), x(px), y(py), z(pz) {}

View File

@ -201,7 +201,7 @@ struct aiTexture {
} }
// Construction // Construction
aiTexture() noexcept aiTexture() AI_NO_EXCEPT
: mWidth(0) : mWidth(0)
, mHeight(0) , mHeight(0)
, achFormatHint{ 0 } , achFormatHint{ 0 }

View File

@ -122,7 +122,7 @@ extern "C" {
struct aiPlane struct aiPlane
{ {
#ifdef __cplusplus #ifdef __cplusplus
aiPlane () noexcept : a(0.f), b(0.f), c(0.f), d(0.f) { aiPlane () AI_NO_EXCEPT : a(0.f), b(0.f), c(0.f), d(0.f) {
} }
aiPlane (ai_real _a, ai_real _b, ai_real _c, ai_real _d) aiPlane (ai_real _a, ai_real _b, ai_real _c, ai_real _d)
: a(_a), b(_b), c(_c), d(_d) {} : a(_a), b(_b), c(_c), d(_d) {}
@ -141,7 +141,7 @@ struct aiPlane
struct aiRay struct aiRay
{ {
#ifdef __cplusplus #ifdef __cplusplus
aiRay () noexcept {} aiRay () AI_NO_EXCEPT {}
aiRay (const aiVector3D& _pos, const aiVector3D& _dir) aiRay (const aiVector3D& _pos, const aiVector3D& _dir)
: pos(_pos), dir(_dir) {} : pos(_pos), dir(_dir) {}
@ -159,7 +159,7 @@ struct aiRay
struct aiColor3D struct aiColor3D
{ {
#ifdef __cplusplus #ifdef __cplusplus
aiColor3D () noexcept : r(0.0f), g(0.0f), b(0.0f) {} aiColor3D () AI_NO_EXCEPT : r(0.0f), g(0.0f), b(0.0f) {}
aiColor3D (ai_real _r, ai_real _g, ai_real _b) : r(_r), g(_g), b(_b) {} aiColor3D (ai_real _r, ai_real _g, ai_real _b) : r(_r), g(_g), b(_b) {}
explicit aiColor3D (ai_real _r) : r(_r), g(_r), b(_r) {} explicit aiColor3D (ai_real _r) : r(_r), g(_r), b(_r) {}
aiColor3D (const aiColor3D& o) : r(o.r), g(o.g), b(o.b) {} aiColor3D (const aiColor3D& o) : r(o.r), g(o.g), b(o.b) {}
@ -254,7 +254,7 @@ struct aiString
{ {
#ifdef __cplusplus #ifdef __cplusplus
/** Default constructor, the string is set to have zero length */ /** Default constructor, the string is set to have zero length */
aiString() noexcept aiString() AI_NO_EXCEPT
: length( 0 ) : length( 0 )
, data {0} { , data {0} {
data[0] = '\0'; data[0] = '\0';
@ -480,7 +480,7 @@ struct aiMemoryInfo
#ifdef __cplusplus #ifdef __cplusplus
/** Default constructor */ /** Default constructor */
aiMemoryInfo() noexcept aiMemoryInfo() AI_NO_EXCEPT
: textures (0) : textures (0)
, materials (0) , materials (0)
, meshes (0) , meshes (0)

View File

@ -66,7 +66,7 @@ template <typename TReal>
class aiVector3t class aiVector3t
{ {
public: public:
aiVector3t() noexcept : x(), y(), z() {} aiVector3t() AI_NO_EXCEPT : x(), y(), z() {}
aiVector3t(TReal _x, TReal _y, TReal _z) : x(_x), y(_y), z(_z) {} aiVector3t(TReal _x, TReal _y, TReal _z) : x(_x), y(_y), z(_z) {}
explicit aiVector3t (TReal _xyz ) : x(_xyz), y(_xyz), z(_xyz) {} explicit aiVector3t (TReal _xyz ) : x(_xyz), y(_xyz), z(_xyz) {}
aiVector3t( const aiVector3t& o ) : x(o.x), y(o.y), z(o.z) {} aiVector3t( const aiVector3t& o ) : x(o.x), y(o.y), z(o.z) {}

View File

@ -73,7 +73,7 @@ TEST_F( utSceneCombiner, MergeMeshes_ValidNames_Test ) {
EXPECT_EQ( "mesh_1.mesh_2.mesh_3", outName ); EXPECT_EQ( "mesh_1.mesh_2.mesh_3", outName );
} }
TEST_F( utSceneCombiner, CopySceneWithNullptr_NoException ) { TEST_F( utSceneCombiner, CopySceneWithNullptr_AI_NO_EXCEPTion ) {
EXPECT_NO_THROW( SceneCombiner::CopyScene( nullptr, nullptr ) ); EXPECT_NO_THROW( SceneCombiner::CopyScene( nullptr, nullptr ) );
EXPECT_NO_THROW( SceneCombiner::CopySceneFlat( nullptr, nullptr ) ); EXPECT_NO_THROW( SceneCombiner::CopySceneFlat( nullptr, nullptr ) );
} }