diff --git a/source/MRMesh/MRBitSet.h b/source/MRMesh/MRBitSet.h index 5e19322f9914..9f788a00075e 100644 --- a/source/MRMesh/MRBitSet.h +++ b/source/MRMesh/MRBitSet.h @@ -24,10 +24,10 @@ namespace MR /// std::vector like container (random-access, size_t - index type, bool - value type) /// with all bits after size() considered off during testing -class BitSet : public boost::dynamic_bitset +class BitSet : public boost::dynamic_bitset { public: - using base = boost::dynamic_bitset; + using base = boost::dynamic_bitset; using base::base; using IndexType = size_t; diff --git a/source/MRMesh/MRDistanceMapLoad.cpp b/source/MRMesh/MRDistanceMapLoad.cpp index fa252213eaa3..507bd42b6d94 100644 --- a/source/MRMesh/MRDistanceMapLoad.cpp +++ b/source/MRMesh/MRDistanceMapLoad.cpp @@ -9,6 +9,7 @@ #include #include +#include namespace MR { diff --git a/source/MRMesh/MRDistanceMapSave.cpp b/source/MRMesh/MRDistanceMapSave.cpp index 6fa15074ebc3..8bfaf645df7b 100644 --- a/source/MRMesh/MRDistanceMapSave.cpp +++ b/source/MRMesh/MRDistanceMapSave.cpp @@ -7,6 +7,7 @@ #include #include +#include namespace MR { diff --git a/source/MRMesh/MRLinesLoad.cpp b/source/MRMesh/MRLinesLoad.cpp index 9bbaf6aeac68..b1fb8f05b1a9 100644 --- a/source/MRMesh/MRLinesLoad.cpp +++ b/source/MRMesh/MRLinesLoad.cpp @@ -8,6 +8,7 @@ #include "MRPly.h" #include "MRTimer.h" #include +#include namespace MR { diff --git a/source/MRMesh/MRMeshLoad.cpp b/source/MRMesh/MRMeshLoad.cpp index e492817bb97c..58a167b68d2e 100644 --- a/source/MRMesh/MRMeshLoad.cpp +++ b/source/MRMesh/MRMeshLoad.cpp @@ -20,6 +20,7 @@ #include #include +#include namespace MR { diff --git a/source/MRMesh/MRMultiwayAligningTransform.cpp b/source/MRMesh/MRMultiwayAligningTransform.cpp index 404760f097eb..b0721d06b17f 100644 --- a/source/MRMesh/MRMultiwayAligningTransform.cpp +++ b/source/MRMesh/MRMultiwayAligningTransform.cpp @@ -1,4 +1,5 @@ #include "MRMultiwayAligningTransform.h" +#include "MRphmap.h" #include "MRGTest.h" #include "MRTimer.h" diff --git a/source/MRMesh/MRStreamOperators.h b/source/MRMesh/MRStreamOperators.h index 7a8624f065a6..6adf4b93dd37 100644 --- a/source/MRMesh/MRStreamOperators.h +++ b/source/MRMesh/MRStreamOperators.h @@ -6,11 +6,11 @@ #include "MRMatrix3.h" #include "MRMatrix4.h" #include "MRPlane3.h" -#include "MRBitSet.h" #include "MRTriPoint.h" #include "MRAffineXf3.h" #include "MRPointOnFace.h" - +#include +#include /** * \brief Overloaded operators for IO base structures (Vector, Matrix, Plane, AffineXf, ...) diff --git a/source/MRMeshC/MRBitSet.cpp b/source/MRMeshC/MRBitSet.cpp index 7b8436bfc3a7..9ddaa3d24ab1 100644 --- a/source/MRMeshC/MRBitSet.cpp +++ b/source/MRMeshC/MRBitSet.cpp @@ -19,7 +19,7 @@ MRBitSet* mrBitSetCopy( const MRBitSet* bs_ ) RETURN_NEW( bs ); } -const uint64_t* mrBitSetBlocks( const MRBitSet* bs_ ) +const Uint64* mrBitSetBlocks( const MRBitSet* bs_ ) { ARG( bs ); return bs.bits().data(); diff --git a/source/MRMeshC/MRBitSet.h b/source/MRMeshC/MRBitSet.h index b0a0a0975093..803adc6df7c4 100644 --- a/source/MRMeshC/MRBitSet.h +++ b/source/MRMeshC/MRBitSet.h @@ -11,7 +11,7 @@ MRMESHC_API MRBitSet* mrBitSetCopy( const MRBitSet* bs ); MRMESHC_API MRBitSet* mrBitSetNew( size_t numBits, bool fillValue ); /// gets read-only access to the underlying blocks of a bitset -MRMESHC_API const uint64_t* mrBitSetBlocks( const MRBitSet* bs ); +MRMESHC_API const Uint64* mrBitSetBlocks( const MRBitSet* bs ); /// gets count of the underlying blocks of a bitset MRMESHC_API size_t mrBitSetBlocksNum( const MRBitSet* bs ); diff --git a/source/MRMeshC/MRMeshFwd.h b/source/MRMeshC/MRMeshFwd.h index 5080d7e75eda..b5cd6fa12738 100644 --- a/source/MRMeshC/MRMeshFwd.h +++ b/source/MRMeshC/MRMeshFwd.h @@ -54,4 +54,22 @@ typedef struct MRSaveSettings MRSaveSettings; typedef bool (*MRProgressCallback)( float ); +#ifdef __cplusplus +#define MRSTD std:: +#else +#define MRSTD +#endif + +#ifdef __APPLE__ +typedef MRSTD ptrdiff_t Int64; +typedef MRSTD size_t Uint64; +#ifdef __cplusplus +static_assert(sizeof(Int64) == 8); +static_assert(sizeof(Uint64) == 8); +#endif +#else //!__APPLE__ +typedef MRSTD int64_t Int64; +typedef MRSTD uint64_t Uint64; +#endif + MR_EXTERN_C_END diff --git a/source/MRPch/MRPch.h b/source/MRPch/MRPch.h index b878a82b8719..5bdaa05a8241 100644 --- a/source/MRPch/MRPch.h +++ b/source/MRPch/MRPch.h @@ -59,6 +59,7 @@ #include #include +#include #include #include #include @@ -87,6 +88,7 @@ #include #include #include +#include #include #include #include diff --git a/source/MRTest/MRChunkIterator.cpp b/source/MRTest/MRChunkIterator.cpp index 72ffaea8a15f..f5b719235e70 100644 --- a/source/MRTest/MRChunkIterator.cpp +++ b/source/MRTest/MRChunkIterator.cpp @@ -1,5 +1,5 @@ #include "MRMesh/MRChunkIterator.h" - +#include "MRMesh/MRBitSet.h" #include "MRMesh/MRGTest.h" namespace MR diff --git a/source/MRViewer/MRSceneCache.h b/source/MRViewer/MRSceneCache.h index c9877526e33d..5c3e210e411a 100644 --- a/source/MRViewer/MRSceneCache.h +++ b/source/MRViewer/MRSceneCache.h @@ -4,6 +4,7 @@ #include "MRMesh/MRSceneRoot.h" #include "exports.h" #include +#include namespace MR { diff --git a/source/MRVoxels/MRDicom.cpp b/source/MRVoxels/MRDicom.cpp index 16b35bc48510..c56c0893fd60 100644 --- a/source/MRVoxels/MRDicom.cpp +++ b/source/MRVoxels/MRDicom.cpp @@ -25,6 +25,7 @@ #include #pragma warning(pop) +#include namespace MR {