]> OCCT Git - occt.git/commit
Foundation Classes, NCollection - Modernize code, add noexcept/constexpr (#793)
authorPasukhin Dmitry <dpasukhi@opencascade.com>
Sat, 1 Nov 2025 21:38:48 +0000 (21:38 +0000)
committerGitHub <noreply@github.com>
Sat, 1 Nov 2025 21:38:48 +0000 (21:38 +0000)
commita575926c2da4baae53b20fb0ac77acb6f52404de
treeac12c76ddb8b7c64f9defdccc3f9702c5f6930c0
parentb04257c25672d89210b284b406eb1d20218e3aca
Foundation Classes, NCollection - Modernize code, add noexcept/constexpr (#793)

- Mark many methods and operators noexcept (iterators, containers, allocators, maps, lists, buffers, UTF/string utilities, etc.)
- Add constexpr to suitable functions and factory methods (matrices, vectors, static sizes) to enable compile-time usage
- Replace non-constexpr memcpy usages in NCollection_Mat3/NCollection_Mat4 with constexpr-friendly initialization and promote static arrays to constexpr
- Make several small API improvements: stronger const-correctness, noexcept on allocation/deallocation operators, delete forbidden copy ctors/assign where appropriate
- Remove obsolete NCollection_TypeDef.hxx and update FILES.cmake
- Miscellaneous small refactors to support modern C++ patterns and better compile-time guarantees
63 files changed:
src/FoundationClasses/TKMath/Poly/Poly_CoherentLink.hxx
src/FoundationClasses/TKMath/Poly/Poly_CoherentNode.hxx
src/FoundationClasses/TKMath/Poly/Poly_CoherentTriangle.hxx
src/FoundationClasses/TKMath/Poly/Poly_CoherentTriangulation.cxx
src/FoundationClasses/TKMath/Poly/Poly_CoherentTriangulation.hxx
src/FoundationClasses/TKernel/NCollection/FILES.cmake
src/FoundationClasses/TKernel/NCollection/NCollection_AccAllocator.cxx
src/FoundationClasses/TKernel/NCollection/NCollection_AccAllocator.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_AlignedAllocator.cxx
src/FoundationClasses/TKernel/NCollection/NCollection_AlignedAllocator.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Allocator.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Array1.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Array2.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_BaseAllocator.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_BaseList.cxx
src/FoundationClasses/TKernel/NCollection/NCollection_BaseList.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_BaseMap.cxx
src/FoundationClasses/TKernel/NCollection/NCollection_BaseMap.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_BasePointerVector.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_BaseSequence.cxx
src/FoundationClasses/TKernel/NCollection/NCollection_BaseSequence.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Buffer.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_CellFilter.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_DataMap.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_DefineHArray1.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_DefineHArray2.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_DefineHSequence.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_DoubleMap.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_DynamicArray.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_EBTree.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Handle.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_IndexedDataMap.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_IndexedIterator.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_IndexedMap.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Iterator.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_List.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_ListNode.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_LocalArray.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Map.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Mat3.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Mat4.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_OccAllocator.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Primes.cxx
src/FoundationClasses/TKernel/NCollection/NCollection_Primes.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Sequence.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_SparseArray.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_SparseArrayBase.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_StlIterator.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_TListIterator.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_TListNode.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_TypeDef.hxx [deleted file]
src/FoundationClasses/TKernel/NCollection/NCollection_UBTree.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_UBTreeFiller.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_UtfIterator.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_UtfIterator.lxx
src/FoundationClasses/TKernel/NCollection/NCollection_UtfString.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_UtfString.lxx
src/FoundationClasses/TKernel/NCollection/NCollection_Vec2.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Vec3.hxx
src/FoundationClasses/TKernel/NCollection/NCollection_Vec4.hxx
src/FoundationClasses/TKernel/Standard/Standard_DefineAlloc.hxx
src/Visualization/TKOpenGl/OpenGl/OpenGl_View_Raytrace.cxx
src/Visualization/TKV3d/SelectMgr/SelectMgr_ViewerSelector.cxx