mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0027772: Foundation Classes - define Standard_Boolean using C++ type "bool" instead of "unsigned int"
Code has been updated to remove no-op casts and implicit casts to Standard_Boolean. Places of inproper use of Standard_Boolean instead of Standard_Integer have been corrected: - Bnd_Box, Bnd_Box2d Bit flags are now defined as private enum - HLRAlgo_BiPoint, HLRAlgo_EdgesBlock, HLRBRep_EdgeData, HLRBRep_FaceData Bit flags are now defined as enum - HLRAlgo_EdgeStatus, HLRBRep_BiPnt2D, HLRBRep_BiPoint Bit flags are now defined as bool fields - HLRAlgo_PolyData Bit flags are now defined as Standard_Integer - OSD_DirectoryIterator, OSD_FileIterator Boolean flag is now defined as Standard_Boolean - ShapeAnalysis_Surface::SurfaceNewton() now returns Standard_Integer (values 0, 1 or 3) - ChFi2d_FilletAlgo now uses TColStd_SequenceOfBoolean instead of TColStd_SequenceOfInteger for storing boolean flags Method IFSelect_Dispatch::PacketsCount() has been dropped from interface. ShapeFix_Solid::Status() has been fixed to decode requested status instead of returning integer value. TopOpeBRepBuild_Builder1 now defines map storing Standard_Boolean values instead of Standard_Integer. Persistence for Standard_Boolean type has been corrected to keep backward compatibility: - BinMDataStd, BinTools, FSD_BinaryFile Broken Draw Harness commands vdisplaymode and verasemode have been removed. BRepMesh_FastDiscretFace::initDataStructure() - workaround old gcc limitations BRepMesh_IncrementalMesh::clear() - avoid ambiguity
This commit is contained in:
@@ -33,6 +33,14 @@ struct StdLPersistent_Collection::byteConverter
|
||||
{ return static_cast<Standard_Byte> (theValue); }
|
||||
};
|
||||
|
||||
struct StdLPersistent_Collection::boolConverter
|
||||
{
|
||||
boolConverter (const Handle(TDF_Data)&) {}
|
||||
|
||||
Standard_Boolean operator() (Standard_Integer theValue) const
|
||||
{ return theValue != 0; }
|
||||
};
|
||||
|
||||
struct StdLPersistent_Collection::stringConverter
|
||||
{
|
||||
stringConverter (const Handle(TDF_Data)&) {}
|
||||
@@ -222,7 +230,7 @@ template class StdLPersistent_Collection::instance
|
||||
<StdLPersistent_Collection::listBase,
|
||||
StdLPersistent_Collection::integer,
|
||||
TDataStd_BooleanList,
|
||||
StdLPersistent_Collection::noConversion>;
|
||||
StdLPersistent_Collection::boolConverter>;
|
||||
|
||||
template class StdLPersistent_Collection::instance
|
||||
<StdLPersistent_Collection::listBase,
|
||||
|
@@ -37,6 +37,7 @@ class StdLPersistent_Collection
|
||||
// Converters
|
||||
struct noConversion;
|
||||
struct byteConverter;
|
||||
struct boolConverter;
|
||||
struct stringConverter;
|
||||
struct referenceConverter;
|
||||
|
||||
@@ -175,7 +176,7 @@ public:
|
||||
typedef listT <real, TDataStd_RealList>
|
||||
RealList;
|
||||
|
||||
typedef listT <integer, TDataStd_BooleanList>
|
||||
typedef listT <integer, TDataStd_BooleanList, boolConverter>
|
||||
BooleanList;
|
||||
|
||||
typedef listT <persistent, TDataStd_ExtStringList, stringConverter>
|
||||
|
Reference in New Issue
Block a user