diff --git a/common/fp_lib_table.cpp b/common/fp_lib_table.cpp index 18a775c024..0d5d6da677 100644 --- a/common/fp_lib_table.cpp +++ b/common/fp_lib_table.cpp @@ -87,7 +87,7 @@ void FP_LIB_TABLE::Parse( LIB_TABLE_LEXER* in ) while( ( tok = in->NextTok() ) != T_RIGHT ) { - std::unique_ptr< FP_LIB_TABLE_ROW > row( new FP_LIB_TABLE_ROW ); + std::unique_ptr row = std::make_unique(); if( tok == T_EOF ) in->Expecting( T_RIGHT ); diff --git a/common/libeval_compiler/libeval_compiler.cpp b/common/libeval_compiler/libeval_compiler.cpp index 69081171f8..eabc4da0cd 100644 --- a/common/libeval_compiler/libeval_compiler.cpp +++ b/common/libeval_compiler/libeval_compiler.cpp @@ -690,7 +690,7 @@ void TREE_NODE::SetUop( int aOp, double aValue ) { delete uop; - std::unique_ptr val( new VALUE( aValue ) ); + std::unique_ptr val = std::make_unique( aValue ); uop = new UOP( aOp, std::move( val ) ); } @@ -699,7 +699,7 @@ void TREE_NODE::SetUop( int aOp, const wxString& aValue, bool aStringIsWildcard { delete uop; - std::unique_ptr val( new VALUE( aValue, aStringIsWildcard ) ); + std::unique_ptr val = std::make_unique( aValue, aStringIsWildcard ); uop = new UOP( aOp, std::move( val ) ); } @@ -785,7 +785,7 @@ bool COMPILER::generateUCode( UCODE* aCode, CONTEXT* aPreflightContext ) if( !m_tree ) { - std::unique_ptr val( new VALUE( 1.0 ) ); + std::unique_ptr val = std::make_unique( 1.0 ); // Empty expression returns true aCode->AddOp( new UOP( TR_UOP_PUSH_VALUE, std::move(val) ) ); return true; diff --git a/common/pgm_base.cpp b/common/pgm_base.cpp index b48f78c8fb..d0bbf01231 100644 --- a/common/pgm_base.cpp +++ b/common/pgm_base.cpp @@ -219,7 +219,7 @@ bool PGM_BASE::InitPgm() return false; } - m_settings_manager = std::unique_ptr( new SETTINGS_MANAGER ); + m_settings_manager = std::make_unique(); // Something got in the way of settings load: can't continue if( !m_settings_manager->IsOK() ) diff --git a/eeschema/class_library.cpp b/eeschema/class_library.cpp index 66a0b546fa..9022fe0c2c 100644 --- a/eeschema/class_library.cpp +++ b/eeschema/class_library.cpp @@ -237,7 +237,7 @@ LIB_PART* PART_LIB::ReplacePart( LIB_PART* aOldPart, LIB_PART* aNewPart ) PART_LIB* PART_LIB::LoadLibrary( const wxString& aFileName ) { - std::unique_ptr lib( new PART_LIB( SCH_LIB_TYPE::LT_EESCHEMA, aFileName ) ); + std::unique_ptr lib = std::make_unique( SCH_LIB_TYPE::LT_EESCHEMA, aFileName ); std::vector parts; // This loads the library. diff --git a/eeschema/dialogs/dialog_sheet_properties.cpp b/eeschema/dialogs/dialog_sheet_properties.cpp index 236e077add..54b551f754 100644 --- a/eeschema/dialogs/dialog_sheet_properties.cpp +++ b/eeschema/dialogs/dialog_sheet_properties.cpp @@ -541,7 +541,7 @@ bool DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged( const wxString& aNewFilena if( useScreen ) { // Create a temporary sheet for recursion testing to prevent a possible recursion error. - std::unique_ptr< SCH_SHEET> tmpSheet( new SCH_SHEET ); + std::unique_ptr< SCH_SHEET> tmpSheet = std::make_unique(); tmpSheet->GetFields()[SHEETNAME] = m_fields->at( SHEETNAME ); tmpSheet->GetFields()[SHEETFILENAME].SetText( nativeFileName.GetFullPath() ); tmpSheet->SetScreen( useScreen ); diff --git a/eeschema/eeschema.cpp b/eeschema/eeschema.cpp index 4a2202e61d..79c30af7d3 100644 --- a/eeschema/eeschema.cpp +++ b/eeschema/eeschema.cpp @@ -62,7 +62,7 @@ namespace SCH { static std::unique_ptr readSchematicFromFile( const std::string& aFilename ) { auto pi = SCH_IO_MGR::FindPlugin( SCH_IO_MGR::SCH_KICAD ); - std::unique_ptr schematic( new SCHEMATIC ( nullptr ) ); + std::unique_ptr schematic = std::make_unique( nullptr ); auto &manager = Pgm().GetSettingsManager(); @@ -100,7 +100,7 @@ static std::unique_ptr readSchematicFromFile( const std::string& aFil bool generateSchematicNetlist( const wxString& aFilename, wxString& aNetlist ) { - std::unique_ptr schematic ( readSchematicFromFile( aFilename.ToStdString() ) ); + std::unique_ptr schematic = readSchematicFromFile( aFilename.ToStdString() ); NETLIST_EXPORTER_KICAD exporter( schematic.get() ); STRING_FORMATTER formatter; diff --git a/eeschema/libarch.cpp b/eeschema/libarch.cpp index 33d526ea9a..24bfc4f83a 100644 --- a/eeschema/libarch.cpp +++ b/eeschema/libarch.cpp @@ -69,7 +69,7 @@ bool SCH_EDIT_FRAME::CreateArchiveLibrary( const wxString& aFileName ) SCH_SCREENS screens( Schematic().Root() ); // Create a new empty library to archive components: - std::unique_ptr archLib( new PART_LIB( SCH_LIB_TYPE::LT_EESCHEMA, aFileName ) ); + std::unique_ptr archLib = std::make_unique( SCH_LIB_TYPE::LT_EESCHEMA, aFileName ); // Save symbols to file only when the library will be fully filled archLib->EnableBuffering(); diff --git a/eeschema/project_rescue.cpp b/eeschema/project_rescue.cpp index da470ff9ae..6b8ad2445e 100644 --- a/eeschema/project_rescue.cpp +++ b/eeschema/project_rescue.cpp @@ -643,8 +643,8 @@ void LEGACY_RESCUER::OpenRescueLibrary() { wxFileName fn = GetRescueLibraryFileName( m_schematic ); - std::unique_ptr rescue_lib( - new PART_LIB( SCH_LIB_TYPE::LT_EESCHEMA, fn.GetFullPath() ) ); + std::unique_ptr rescue_lib = std::make_unique( SCH_LIB_TYPE::LT_EESCHEMA, + fn.GetFullPath() ); m_rescue_lib = std::move( rescue_lib ); m_rescue_lib->EnableBuffering(); diff --git a/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp b/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp index 541d7f8522..0f36aac11a 100644 --- a/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp +++ b/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp @@ -556,7 +556,7 @@ void SCH_EAGLE_PLUGIN::loadSchematic( wxXmlNode* aSchematicNode ) while( partNode ) { - std::unique_ptr epart( new EPART( partNode ) ); + std::unique_ptr epart = std::make_unique( partNode ); // N.B. Eagle parts are case-insensitive in matching but we keep the display case m_partlist[epart->name.Upper()] = std::move( epart ); @@ -596,8 +596,8 @@ void SCH_EAGLE_PLUGIN::loadSchematic( wxXmlNode* aSchematicNode ) while( sheetNode ) { - wxPoint pos = wxPoint( x * Mils2iu( 1000 ), y * Mils2iu( 1000 ) ); - std::unique_ptr sheet( new SCH_SHEET( m_rootSheet, pos ) ); + wxPoint pos = wxPoint( x * Mils2iu( 1000 ), y * Mils2iu( 1000 ) ); + std::unique_ptr sheet = std::make_unique( m_rootSheet, pos ); SCH_SCREEN* screen = new SCH_SCREEN( m_schematic ); sheet->SetScreen( screen ); @@ -964,7 +964,7 @@ void SCH_EAGLE_PLUGIN::loadSegments( SCH_LINE* SCH_EAGLE_PLUGIN::loadWire( wxXmlNode* aWireNode ) { - std::unique_ptr wire( new SCH_LINE ); + std::unique_ptr wire = std::make_unique(); auto ewire = EWIRE( aWireNode ); @@ -989,7 +989,7 @@ SCH_LINE* SCH_EAGLE_PLUGIN::loadWire( wxXmlNode* aWireNode ) SCH_JUNCTION* SCH_EAGLE_PLUGIN::loadJunction( wxXmlNode* aJunction ) { - std::unique_ptr junction( new SCH_JUNCTION ); + std::unique_ptr junction = std::make_unique(); auto ejunction = EJUNCTION( aJunction ); wxPoint pos( ejunction.x.ToSchUnits(), -ejunction.y.ToSchUnits() ); @@ -1011,9 +1011,9 @@ SCH_TEXT* SCH_EAGLE_PLUGIN::loadLabel( wxXmlNode* aLabelNode, const wxString& aN std::unique_ptr label; if( global ) - label.reset( new SCH_GLOBALLABEL ); + label = std::make_unique(); else - label.reset( new SCH_LABEL ); + label = std::make_unique(); label->SetPosition( elabelpos ); label->SetText( escapeName( elabel.netname ) ); @@ -1131,7 +1131,7 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode ) } LIB_ID libId( getLibName(), kisymbolname ); - std::unique_ptr component( new SCH_COMPONENT() ); + std::unique_ptr component = std::make_unique(); component->SetLibId( libId ); component->SetUnit( unit ); component->SetPosition( wxPoint( einstance.x.ToSchUnits(), -einstance.y.ToSchUnits() ) ); @@ -1596,7 +1596,7 @@ LIB_ITEM* SCH_EAGLE_PLUGIN::loadSymbolWire( // if the wire is an arc if( ewire.curve ) { - std::unique_ptr arc( new LIB_ARC( aPart.get() ) ); + std::unique_ptr arc = std::make_unique( aPart.get() ); wxPoint center = ConvertArcCenter( begin, end, *ewire.curve * -1 ); double radius = sqrt( abs( ( ( center.x - begin.x ) * ( center.x - begin.x ) ) @@ -1651,7 +1651,7 @@ LIB_ITEM* SCH_EAGLE_PLUGIN::loadSymbolWire( } else { - std::unique_ptr polyLine( new LIB_POLYLINE( aPart.get() ) ); + std::unique_ptr polyLine = std::make_unique( aPart.get() ); polyLine->AddPoint( begin ); polyLine->AddPoint( end ); @@ -1666,7 +1666,7 @@ LIB_ITEM* SCH_EAGLE_PLUGIN::loadSymbolWire( LIB_POLYLINE* SCH_EAGLE_PLUGIN::loadSymbolPolyLine( std::unique_ptr& aPart, wxXmlNode* aPolygonNode, int aGateNumber ) { - std::unique_ptr polyLine( new LIB_POLYLINE( aPart.get() ) ); + std::unique_ptr polyLine = std::make_unique( aPart.get() ); EPOLYGON epoly( aPolygonNode ); wxXmlNode* vertex = aPolygonNode->GetChildren(); @@ -1696,7 +1696,7 @@ LIB_POLYLINE* SCH_EAGLE_PLUGIN::loadSymbolPolyLine( LIB_PIN* SCH_EAGLE_PLUGIN::loadPin( std::unique_ptr& aPart, wxXmlNode* aPin, EPIN* aEPin, int aGateNumber ) { - std::unique_ptr pin( new LIB_PIN( aPart.get() ) ); + std::unique_ptr pin = std::make_unique( aPart.get() ); pin->SetPosition( wxPoint( aEPin->x.ToSchUnits(), aEPin->y.ToSchUnits() ) ); pin->SetName( aEPin->name ); pin->SetUnit( aGateNumber ); @@ -1799,7 +1799,7 @@ LIB_PIN* SCH_EAGLE_PLUGIN::loadPin( LIB_TEXT* SCH_EAGLE_PLUGIN::loadSymbolText( std::unique_ptr& aPart, wxXmlNode* aLibText, int aGateNumber ) { - std::unique_ptr libtext( new LIB_TEXT( aPart.get() ) ); + std::unique_ptr libtext = std::make_unique( aPart.get() ); ETEXT etext( aLibText ); libtext->SetUnit( aGateNumber ); @@ -1823,8 +1823,8 @@ LIB_TEXT* SCH_EAGLE_PLUGIN::loadSymbolText( SCH_TEXT* SCH_EAGLE_PLUGIN::loadPlainText( wxXmlNode* aSchText ) { - std::unique_ptr schtext( new SCH_TEXT() ); - ETEXT etext = ETEXT( aSchText ); + std::unique_ptr schtext = std::make_unique(); + ETEXT etext = ETEXT( aSchText ); const wxString& thetext = aSchText->GetNodeContent(); schtext->SetText( thetext.IsEmpty() ? "\" \"" : escapeName( thetext ) ); diff --git a/eeschema/sch_plugins/kicad/sch_sexpr_parser.cpp b/eeschema/sch_plugins/kicad/sch_sexpr_parser.cpp index 7100ff4ed0..a71846a532 100644 --- a/eeschema/sch_plugins/kicad/sch_sexpr_parser.cpp +++ b/eeschema/sch_plugins/kicad/sch_sexpr_parser.cpp @@ -129,7 +129,7 @@ LIB_PART* SCH_SEXPR_PARSER::ParseSymbol( LIB_PART_MAP& aSymbolLibMap, int aFileV wxString name; wxString error; LIB_ITEM* item; - std::unique_ptr symbol( new LIB_PART( wxEmptyString ) ); + std::unique_ptr symbol = std::make_unique( wxEmptyString ); m_requiredVersion = aFileVersion; symbol->SetUnitCount( 1 ); @@ -722,7 +722,7 @@ void SCH_SEXPR_PARSER::parseProperty( std::unique_ptr& aSymbol ) wxString error; wxString name; wxString value; - std::unique_ptr field( new LIB_FIELD( aSymbol.get(), MANDATORY_FIELDS ) ); + std::unique_ptr field = std::make_unique( aSymbol.get(), MANDATORY_FIELDS ); T token = NextTok(); @@ -849,7 +849,7 @@ LIB_ARC* SCH_SEXPR_PARSER::parseArc() wxPoint pos; FILL_PARAMS fill; bool hasMidPoint = false; - std::unique_ptr arc( new LIB_ARC( nullptr ) ); + std::unique_ptr arc = std::make_unique( nullptr ); arc->SetUnit( m_unit ); arc->SetConvert( m_convert ); @@ -967,7 +967,7 @@ LIB_BEZIER* SCH_SEXPR_PARSER::parseBezier() T token; FILL_PARAMS fill; - std::unique_ptr bezier( new LIB_BEZIER( nullptr ) ); + std::unique_ptr bezier = std::make_unique( nullptr ); bezier->SetUnit( m_unit ); bezier->SetConvert( m_convert ); @@ -1032,7 +1032,7 @@ LIB_CIRCLE* SCH_SEXPR_PARSER::parseCircle() T token; FILL_PARAMS fill; - std::unique_ptr circle( new LIB_CIRCLE( nullptr ) ); + std::unique_ptr circle = std::make_unique( nullptr ); circle->SetUnit( m_unit ); circle->SetConvert( m_convert ); @@ -1135,7 +1135,7 @@ LIB_PIN* SCH_SEXPR_PARSER::parsePin() T token; wxString tmp; wxString error; - std::unique_ptr pin( new LIB_PIN( nullptr ) ); + std::unique_ptr pin = std::make_unique( nullptr ); pin->SetUnit( m_unit ); pin->SetConvert( m_convert ); @@ -1309,7 +1309,7 @@ LIB_POLYLINE* SCH_SEXPR_PARSER::parsePolyLine() T token; FILL_PARAMS fill; - std::unique_ptr polyLine( new LIB_POLYLINE( nullptr ) ); + std::unique_ptr polyLine = std::make_unique( nullptr ); polyLine->SetUnit( m_unit ); polyLine->SetConvert( m_convert ); @@ -1374,7 +1374,7 @@ LIB_RECTANGLE* SCH_SEXPR_PARSER::parseRectangle() T token; FILL_PARAMS fill; - std::unique_ptr rectangle( new LIB_RECTANGLE( nullptr ) ); + std::unique_ptr rectangle = std::make_unique( nullptr ); rectangle->SetUnit( m_unit ); rectangle->SetConvert( m_convert ); @@ -1432,7 +1432,7 @@ LIB_TEXT* SCH_SEXPR_PARSER::parseText() T token; wxString tmp; wxString error; - std::unique_ptr text( new LIB_TEXT( nullptr ) ); + std::unique_ptr text = std::make_unique( nullptr ); text->SetUnit( m_unit ); text->SetConvert( m_convert ); @@ -1674,7 +1674,7 @@ SCH_FIELD* SCH_SEXPR_PARSER::parseSchField( SCH_ITEM* aParent ) // Empty property values are valid. value = FromUTF8(); - std::unique_ptr field( new SCH_FIELD( wxDefaultPosition, -1, aParent, name ) ); + std::unique_ptr field = std::make_unique( wxDefaultPosition, -1, aParent, name ); field->SetText( value ); field->SetVisible( true ); @@ -1741,7 +1741,7 @@ SCH_SHEET_PIN* SCH_SEXPR_PARSER::parseSchSheetPin( SCH_SHEET* aSheet ) THROW_IO_ERROR( error ); } - std::unique_ptr sheetPin( new SCH_SHEET_PIN( aSheet, wxPoint( 0, 0 ), name ) ); + std::unique_ptr sheetPin = std::make_unique( aSheet, wxPoint( 0, 0 ), name ); token = NextTok(); @@ -2119,7 +2119,7 @@ SCH_COMPONENT* SCH_SEXPR_PARSER::parseSchematicSymbol() wxString error; wxString libName; SCH_FIELD* field; - std::unique_ptr symbol( new SCH_COMPONENT() ); + std::unique_ptr symbol = std::make_unique(); TRANSFORM transform; std::set fieldIDsRead; @@ -2331,7 +2331,7 @@ SCH_BITMAP* SCH_SEXPR_PARSER::parseImage() wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as an image." ) ); T token; - std::unique_ptr bitmap( new SCH_BITMAP() ); + std::unique_ptr bitmap = std::make_unique(); for( token = NextTok(); token != T_RIGHT; token = NextTok() ) { @@ -2404,7 +2404,7 @@ SCH_SHEET* SCH_SEXPR_PARSER::parseSheet() FILL_PARAMS fill; SCH_FIELD* field; std::vector fields; - std::unique_ptr sheet( new SCH_SHEET() ); + std::unique_ptr sheet = std::make_unique(); std::set fieldIDsRead; for( token = NextTok(); token != T_RIGHT; token = NextTok() ) @@ -2499,7 +2499,7 @@ SCH_JUNCTION* SCH_SEXPR_PARSER::parseJunction() wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as a junction." ) ); T token; - std::unique_ptr junction( new SCH_JUNCTION() ); + std::unique_ptr junction = std::make_unique(); for( token = NextTok(); token != T_RIGHT; token = NextTok() ) { @@ -2549,7 +2549,7 @@ SCH_NO_CONNECT* SCH_SEXPR_PARSER::parseNoConnect() wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as a no connect." ) ); T token; - std::unique_ptr no_connect( new SCH_NO_CONNECT() ); + std::unique_ptr no_connect = std::make_unique(); for( token = NextTok(); token != T_RIGHT; token = NextTok() ) { @@ -2581,7 +2581,7 @@ SCH_BUS_WIRE_ENTRY* SCH_SEXPR_PARSER::parseBusEntry() T token; STROKE_PARAMS stroke; - std::unique_ptr busEntry( new SCH_BUS_WIRE_ENTRY() ); + std::unique_ptr busEntry = std::make_unique(); for( token = NextTok(); token != T_RIGHT; token = NextTok() ) { @@ -2626,7 +2626,7 @@ SCH_LINE* SCH_SEXPR_PARSER::parseLine() { T token; STROKE_PARAMS stroke; - std::unique_ptr line( new SCH_LINE() ); + std::unique_ptr line = std::make_unique(); switch( CurTok() ) { @@ -2688,10 +2688,10 @@ SCH_TEXT* SCH_SEXPR_PARSER::parseSchText() switch( CurTok() ) { - case T_text: text.reset( new SCH_TEXT ); break; - case T_label: text.reset( new SCH_LABEL ); break; - case T_global_label: text.reset( new SCH_GLOBALLABEL ); break; - case T_hierarchical_label: text.reset( new SCH_HIERLABEL ); break; + case T_text: text = std::make_unique(); break; + case T_label: text = std::make_unique(); break; + case T_global_label: text = std::make_unique(); break; + case T_hierarchical_label: text = std::make_unique(); break; default: wxCHECK_MSG( false, nullptr, wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as text." ) ); @@ -2783,7 +2783,7 @@ void SCH_SEXPR_PARSER::parseBusAlias( SCH_SCREEN* aScreen ) wxCHECK( aScreen, /* void */ ); T token; - auto busAlias = std::make_shared< BUS_ALIAS >( aScreen ); + auto busAlias = std::make_shared( aScreen ); NeedSYMBOL(); busAlias->SetName( FromUTF8() ); diff --git a/eeschema/sch_plugins/kicad/sch_sexpr_plugin.cpp b/eeschema/sch_plugins/kicad/sch_sexpr_plugin.cpp index a44263a00a..df9d45873d 100644 --- a/eeschema/sch_plugins/kicad/sch_sexpr_plugin.cpp +++ b/eeschema/sch_plugins/kicad/sch_sexpr_plugin.cpp @@ -431,7 +431,7 @@ SCH_SHEET* SCH_SEXPR_PLUGIN::Load( const wxString& aFileName, SCHEMATIC* aSchema if( aAppendToMe == NULL ) { // Clean up any allocated memory if an exception occurs loading the schematic. - std::unique_ptr< SCH_SHEET > newSheet( new SCH_SHEET( aSchematic ) ); + std::unique_ptr newSheet = std::make_unique( aSchematic ); newSheet->SetFileName( aFileName ); m_rootSheet = newSheet.get(); loadHierarchy( newSheet.get() ); @@ -1481,7 +1481,7 @@ void SCH_SEXPR_PLUGIN_CACHE::Save() // Write through symlinks, don't replace them. wxFileName fn = GetRealFile(); - std::unique_ptr< FILE_OUTPUTFORMATTER > formatter( new FILE_OUTPUTFORMATTER( fn.GetFullPath() ) ); + auto formatter = std::make_unique( fn.GetFullPath() ); formatter->Print( 0, "(kicad_symbol_lib (version %d) (generator kicad_symbol_editor)\n", SEXPR_SYMBOL_LIB_FILE_VERSION ); diff --git a/eeschema/sch_plugins/legacy/sch_legacy_plugin.cpp b/eeschema/sch_plugins/legacy/sch_legacy_plugin.cpp index e654af96dc..9d5fca9855 100644 --- a/eeschema/sch_plugins/legacy/sch_legacy_plugin.cpp +++ b/eeschema/sch_plugins/legacy/sch_legacy_plugin.cpp @@ -632,7 +632,7 @@ SCH_SHEET* SCH_LEGACY_PLUGIN::Load( const wxString& aFileName, SCHEMATIC* aSchem if( aAppendToMe == NULL ) { // Clean up any allocated memory if an exception occurs loading the schematic. - std::unique_ptr< SCH_SHEET > newSheet( new SCH_SHEET( aSchematic ) ); + std::unique_ptr newSheet = std::make_unique( aSchematic ); newSheet->SetFileName( aFileName ); m_rootSheet = newSheet.get(); loadHierarchy( newSheet.get() ); @@ -970,7 +970,7 @@ void SCH_LEGACY_PLUGIN::loadPageSettings( LINE_READER& aReader, SCH_SCREEN* aScr SCH_SHEET* SCH_LEGACY_PLUGIN::loadSheet( LINE_READER& aReader ) { - std::unique_ptr< SCH_SHEET > sheet( new SCH_SHEET() ); + std::unique_ptr sheet = std::make_unique(); const char* line = aReader.ReadLine(); @@ -1018,7 +1018,7 @@ SCH_SHEET* SCH_LEGACY_PLUGIN::loadSheet( LINE_READER& aReader ) else // Sheet pin. { // Use a unique_ptr so that we clean up in the case of a throw - std::unique_ptr< SCH_SHEET_PIN > sheetPin( new SCH_SHEET_PIN( sheet.get() ) ); + std::unique_ptr sheetPin = std::make_unique( sheet.get() ); sheetPin->SetNumber( fieldId ); @@ -1080,7 +1080,7 @@ SCH_SHEET* SCH_LEGACY_PLUGIN::loadSheet( LINE_READER& aReader ) SCH_BITMAP* SCH_LEGACY_PLUGIN::loadBitmap( LINE_READER& aReader ) { - std::unique_ptr< SCH_BITMAP > bitmap( new SCH_BITMAP ); + std::unique_ptr bitmap = std::make_unique(); const char* line = aReader.Line(); @@ -1165,7 +1165,7 @@ SCH_BITMAP* SCH_LEGACY_PLUGIN::loadBitmap( LINE_READER& aReader ) SCH_JUNCTION* SCH_LEGACY_PLUGIN::loadJunction( LINE_READER& aReader ) { - std::unique_ptr< SCH_JUNCTION > junction( new SCH_JUNCTION ); + std::unique_ptr junction = std::make_unique(); const char* line = aReader.Line(); @@ -1187,7 +1187,7 @@ SCH_JUNCTION* SCH_LEGACY_PLUGIN::loadJunction( LINE_READER& aReader ) SCH_NO_CONNECT* SCH_LEGACY_PLUGIN::loadNoConnect( LINE_READER& aReader ) { - std::unique_ptr< SCH_NO_CONNECT > no_connect( new SCH_NO_CONNECT ); + std::unique_ptr no_connect = std::make_unique(); const char* line = aReader.Line(); @@ -1209,7 +1209,7 @@ SCH_NO_CONNECT* SCH_LEGACY_PLUGIN::loadNoConnect( LINE_READER& aReader ) SCH_LINE* SCH_LEGACY_PLUGIN::loadWire( LINE_READER& aReader ) { - std::unique_ptr< SCH_LINE > wire( new SCH_LINE ); + std::unique_ptr wire = std::make_unique(); const char* line = aReader.Line(); @@ -1311,18 +1311,18 @@ SCH_BUS_ENTRY_BASE* SCH_LEGACY_PLUGIN::loadBusEntry( LINE_READER& aReader ) wxCHECK( strCompare( "Entry", line, &line ), NULL ); - std::unique_ptr< SCH_BUS_ENTRY_BASE > busEntry; + std::unique_ptr busEntry; if( strCompare( "Wire", line, &line ) ) { - busEntry.reset( new SCH_BUS_WIRE_ENTRY ); + busEntry = std::make_unique(); if( !strCompare( "Line", line, &line ) ) SCH_PARSE_ERROR( "invalid bus entry definition expected 'Line'", aReader, line ); } else if( strCompare( "Bus", line, &line ) ) { - busEntry.reset( new SCH_BUS_BUS_ENTRY ); + busEntry = std::make_unique(); if( !strCompare( "Bus", line, &line ) ) SCH_PARSE_ERROR( "invalid bus entry definition expected 'Bus'", aReader, line ); @@ -1367,7 +1367,7 @@ SCH_TEXT* SCH_LEGACY_PLUGIN::loadText( LINE_READER& aReader ) wxCHECK( strCompare( "Text", line, &line ), NULL ); - std::unique_ptr< SCH_TEXT> text; + std::unique_ptr text; if( strCompare( "Notes", line, &line ) ) text.reset( new SCH_TEXT ); @@ -1379,9 +1379,9 @@ SCH_TEXT* SCH_LEGACY_PLUGIN::loadText( LINE_READER& aReader ) { // Prior to version 2, the SCH_GLOBALLABEL object did not exist. if( m_version == 1 ) - text.reset( new SCH_HIERLABEL ); + text = std::make_unique(); else - text.reset( new SCH_GLOBALLABEL ); + text = std::make_unique(); } else SCH_PARSE_ERROR( "unknown Text type", aReader, line ); @@ -1484,7 +1484,7 @@ SCH_COMPONENT* SCH_LEGACY_PLUGIN::loadComponent( LINE_READER& aReader ) wxCHECK( strCompare( "$Comp", line, &line ), NULL ); - std::unique_ptr< SCH_COMPONENT > component( new SCH_COMPONENT() ); + std::unique_ptr component = std::make_unique(); line = aReader.ReadLine(); @@ -1796,7 +1796,7 @@ SCH_COMPONENT* SCH_LEGACY_PLUGIN::loadComponent( LINE_READER& aReader ) std::shared_ptr SCH_LEGACY_PLUGIN::loadBusAlias( LINE_READER& aReader, SCH_SCREEN* aScreen ) { - auto busAlias = std::make_shared< BUS_ALIAS >( aScreen ); + auto busAlias = std::make_shared( aScreen ); const char* line = aReader.Line(); wxCHECK( strCompare( "BusAlias", line, &line ), NULL ); @@ -2789,7 +2789,7 @@ LIB_PART* SCH_LEGACY_PLUGIN_CACHE::LoadPart( LINE_READER& aReader, int aMajorVer SCH_PARSE_ERROR( "invalid symbol definition", aReader, line ); // Read DEF line: - std::unique_ptr< LIB_PART > part( new LIB_PART( wxEmptyString ) ); + std::unique_ptr part = std::make_unique( wxEmptyString ); wxString name, prefix, tmp; @@ -3727,7 +3727,7 @@ void SCH_LEGACY_PLUGIN_CACHE::Save( bool aSaveDocFile ) // Write through symlinks, don't replace them wxFileName fn = GetRealFile(); - std::unique_ptr< FILE_OUTPUTFORMATTER > formatter( new FILE_OUTPUTFORMATTER( fn.GetFullPath() ) ); + auto formatter = std::make_unique( fn.GetFullPath() ); formatter->Print( 0, "%s %d.%d\n", LIBFILE_IDENT, LIB_VERSION_MAJOR, LIB_VERSION_MINOR ); formatter->Print( 0, "#encoding utf-8\n"); diff --git a/eeschema/sheet.cpp b/eeschema/sheet.cpp index f5e208f658..a1b30e96af 100644 --- a/eeschema/sheet.cpp +++ b/eeschema/sheet.cpp @@ -112,7 +112,7 @@ bool SCH_EDIT_FRAME::LoadSheetFromFile( SCH_SHEET* aSheet, SCH_SHEET_PATH* aHier SCH_SCREEN* currentScreen = aHierarchy->LastScreen(); SCH_IO_MGR::SCH_FILE_T schFileType = SCH_IO_MGR::GuessPluginTypeFromSchPath( aFileName ); SCH_PLUGIN::SCH_PLUGIN_RELEASER pi( SCH_IO_MGR::FindPlugin( schFileType ) ); - std::unique_ptr< SCH_SHEET> newSheet( new SCH_SHEET( &Schematic() ) ); + std::unique_ptr< SCH_SHEET> newSheet = std::make_unique( &Schematic() ); // This will cause the sheet UUID to be set to the loaded schematic UUID. This is required // to ensure all of the sheet paths in any subsheets are correctly generated. diff --git a/eeschema/sim/spice_simulator.cpp b/eeschema/sim/spice_simulator.cpp index 2065071038..5b97e89aec 100644 --- a/eeschema/sim/spice_simulator.cpp +++ b/eeschema/sim/spice_simulator.cpp @@ -33,7 +33,7 @@ std::shared_ptr SPICE_SIMULATOR::CreateInstance( const std::str static std::shared_ptr ngspiceInstance; if( !ngspiceInstance ) - ngspiceInstance.reset( new NGSPICE ); + ngspiceInstance = std::make_shared(); return ngspiceInstance; } diff --git a/eeschema/symbol_lib_table.cpp b/eeschema/symbol_lib_table.cpp index 3b9c7410cb..67a645dd62 100644 --- a/eeschema/symbol_lib_table.cpp +++ b/eeschema/symbol_lib_table.cpp @@ -115,7 +115,7 @@ void SYMBOL_LIB_TABLE::Parse( LIB_TABLE_LEXER* in ) while( ( tok = in->NextTok() ) != T_RIGHT ) { - std::unique_ptr< SYMBOL_LIB_TABLE_ROW > row( new SYMBOL_LIB_TABLE_ROW ); + std::unique_ptr< SYMBOL_LIB_TABLE_ROW > row = std::make_unique(); if( tok == T_EOF ) in->Expecting( T_RIGHT ); diff --git a/gerbview/gerbview_printout.cpp b/gerbview/gerbview_printout.cpp index df854c5f2c..76d656df7c 100644 --- a/gerbview/gerbview_printout.cpp +++ b/gerbview/gerbview_printout.cpp @@ -105,5 +105,5 @@ EDA_RECT GERBVIEW_PRINTOUT::getBoundingBox() std::unique_ptr GERBVIEW_PRINTOUT::getPainter( KIGFX::GAL* aGal ) { - return std::unique_ptr( new KIGFX::GERBVIEW_PAINTER( aGal ) ); + return std::make_unique( aGal ); } diff --git a/pcb_calculator/datafile_read_write.cpp b/pcb_calculator/datafile_read_write.cpp index 077c164085..d813f8f496 100644 --- a/pcb_calculator/datafile_read_write.cpp +++ b/pcb_calculator/datafile_read_write.cpp @@ -86,8 +86,7 @@ bool PCB_CALCULATOR_FRAME::WriteDataFile() // Switch the locale to standard C (needed to read/write floating point numbers) LOCALE_IO toggle; - std::unique_ptr - datafile( new PCB_CALCULATOR_DATAFILE( &m_RegulatorList ) ); + auto datafile = std::make_unique( &m_RegulatorList ); try { diff --git a/pcbnew/class_dimension.cpp b/pcbnew/class_dimension.cpp index 05ea548d71..8f43747963 100644 --- a/pcbnew/class_dimension.cpp +++ b/pcbnew/class_dimension.cpp @@ -387,7 +387,7 @@ std::vector DIMENSION::MakeEffectiveShapes() const std::shared_ptr DIMENSION::GetEffectiveShape( PCB_LAYER_ID aLayer ) const { - return std::shared_ptr( new SHAPE_COMPOUND( MakeEffectiveShapes() ) ); + return std::make_shared( MakeEffectiveShapes() ); } diff --git a/pcbnew/class_zone.cpp b/pcbnew/class_zone.cpp index 09b66365ce..0dca567ac5 100644 --- a/pcbnew/class_zone.cpp +++ b/pcbnew/class_zone.cpp @@ -1353,7 +1353,7 @@ std::shared_ptr ZONE_CONTAINER::GetEffectiveShape( PCB_LAYER_ID aLayer ) if( m_FilledPolysList.find( aLayer ) == m_FilledPolysList.end() ) { - shape.reset( new SHAPE_NULL ); + shape = std::make_shared(); } else { diff --git a/pcbnew/fp_tree_model_adapter.cpp b/pcbnew/fp_tree_model_adapter.cpp index b5772f0bc8..ce2c765c3f 100644 --- a/pcbnew/fp_tree_model_adapter.cpp +++ b/pcbnew/fp_tree_model_adapter.cpp @@ -59,7 +59,7 @@ std::vector FP_TREE_MODEL_ADAPTER::getFootprints( const wxString auto fullListStart = GFootprintList.GetList().begin(); auto fullListEnd = GFootprintList.GetList().end(); - std::unique_ptr dummy( new FOOTPRINT_INFO_IMPL( aLibName, wxEmptyString ) ); + std::unique_ptr dummy = std::make_unique( aLibName, wxEmptyString ); // List is sorted, so use a binary search to find the range of footnotes for our library auto libBounds = std::equal_range( fullListStart, fullListEnd, dummy, diff --git a/pcbnew/graphics_cleaner.cpp b/pcbnew/graphics_cleaner.cpp index b513a5197b..79734266e6 100644 --- a/pcbnew/graphics_cleaner.cpp +++ b/pcbnew/graphics_cleaner.cpp @@ -145,7 +145,7 @@ void GRAPHICS_CLEANER::cleanupSegments() if( isNullSegment( segment ) ) { - std::shared_ptr item( new CLEANUP_ITEM( CLEANUP_NULL_GRAPHIC ) ); + std::shared_ptr item = std::make_shared( CLEANUP_NULL_GRAPHIC ); item->SetItems( segment ); m_itemsList->push_back( item ); @@ -164,7 +164,7 @@ void GRAPHICS_CLEANER::cleanupSegments() if( areEquivalent( segment, segment2 ) ) { - std::shared_ptr item( new CLEANUP_ITEM( CLEANUP_DUPLICATE_GRAPHIC ) ); + std::shared_ptr item = std::make_shared( CLEANUP_DUPLICATE_GRAPHIC ); item->SetItems( segment2 ); m_itemsList->push_back( item ); @@ -292,7 +292,7 @@ void GRAPHICS_CLEANER::mergeRects() right->shape->SetFlags( IS_DELETED ); bottom->shape->SetFlags( IS_DELETED ); - std::shared_ptr item( new CLEANUP_ITEM( CLEANUP_LINES_TO_RECT ) ); + std::shared_ptr item = std::make_shared( CLEANUP_LINES_TO_RECT ); item->SetItems( left->shape, top->shape, right->shape, bottom->shape ); m_itemsList->push_back( item ); diff --git a/pcbnew/import_gfx/graphics_importer_buffer.cpp b/pcbnew/import_gfx/graphics_importer_buffer.cpp index 9d74822c14..45dc6839c6 100644 --- a/pcbnew/import_gfx/graphics_importer_buffer.cpp +++ b/pcbnew/import_gfx/graphics_importer_buffer.cpp @@ -30,7 +30,7 @@ using namespace std; template static std::unique_ptr make_shape( const Args&... aArguments ) { - return std::unique_ptr( new T( aArguments... ) ); + return std::make_unique( aArguments... ); } void GRAPHICS_IMPORTER_BUFFER::AddLine( const VECTOR2D& aStart, const VECTOR2D& aEnd, double aWidth ) diff --git a/pcbnew/import_gfx/graphics_importer_pcbnew.cpp b/pcbnew/import_gfx/graphics_importer_pcbnew.cpp index 9b0a2431bf..f19328d836 100644 --- a/pcbnew/import_gfx/graphics_importer_pcbnew.cpp +++ b/pcbnew/import_gfx/graphics_importer_pcbnew.cpp @@ -189,7 +189,7 @@ std::pair, EDA_TEXT*> GRAPHICS_IMPORTER_BOARD::creat std::unique_ptr GRAPHICS_IMPORTER_MODULE::createDrawing() { - return std::unique_ptr( new FP_SHAPE( m_module ) ); + return std::make_unique( m_module ); } diff --git a/pcbnew/netlist_reader/netlist_reader.cpp b/pcbnew/netlist_reader/netlist_reader.cpp index 7c335cc4d0..d3a485e6f6 100644 --- a/pcbnew/netlist_reader/netlist_reader.cpp +++ b/pcbnew/netlist_reader/netlist_reader.cpp @@ -82,7 +82,7 @@ NETLIST_READER* NETLIST_READER::GetNetlistReader( NETLIST* aNetlist, { wxASSERT( aNetlist != NULL ); - std::unique_ptr< FILE_LINE_READER > file_rdr(new FILE_LINE_READER( aNetlistFileName ) ); + std::unique_ptr file_rdr = std::make_unique( aNetlistFileName ); NETLIST_FILE_T type = GuessNetlistFileType( file_rdr.get() ); file_rdr->Rewind(); diff --git a/pcbnew/pcb_expr_evaluator.cpp b/pcbnew/pcb_expr_evaluator.cpp index 36abeefba7..721f36c731 100644 --- a/pcbnew/pcb_expr_evaluator.cpp +++ b/pcbnew/pcb_expr_evaluator.cpp @@ -585,21 +585,13 @@ std::unique_ptr PCB_EXPR_UCODE::CreateVarRef( const wxString& std::unique_ptr vref; if( aVar == "A" ) - { - vref.reset( new PCB_EXPR_VAR_REF( 0 ) ); - } + vref = std::make_unique( 0 ); else if( aVar == "B" ) - { - vref.reset( new PCB_EXPR_VAR_REF( 1 ) ); - } + vref = std::make_unique( 1 ); else if( aVar == "L" ) - { - vref.reset( new PCB_EXPR_VAR_REF( 2 ) ); - } + vref = std::make_unique( 2 ); else - { return nullptr; - } if( aField.length() == 0 ) // return reference to base object { diff --git a/pcbnew/pcb_shape.cpp b/pcbnew/pcb_shape.cpp index 037511b17a..c6b758860d 100644 --- a/pcbnew/pcb_shape.cpp +++ b/pcbnew/pcb_shape.cpp @@ -1172,7 +1172,7 @@ std::vector PCB_SHAPE::MakeEffectiveShapes() const std::shared_ptr PCB_SHAPE::GetEffectiveShape( PCB_LAYER_ID aLayer ) const { - return std::shared_ptr( new SHAPE_COMPOUND( MakeEffectiveShapes() ) ); + return std::make_shared( MakeEffectiveShapes() ); } diff --git a/pcbnew/pcbnew_printout.cpp b/pcbnew/pcbnew_printout.cpp index 4f635623b6..b09f404abd 100644 --- a/pcbnew/pcbnew_printout.cpp +++ b/pcbnew/pcbnew_printout.cpp @@ -274,7 +274,7 @@ EDA_RECT PCBNEW_PRINTOUT::getBoundingBox() std::unique_ptr PCBNEW_PRINTOUT::getPainter( KIGFX::GAL* aGal ) { - return std::unique_ptr( new KIGFX::PCB_PRINT_PAINTER( aGal ) ); + return std::make_unique( aGal ); } diff --git a/pcbnew/plugins/eagle/eagle_plugin.cpp b/pcbnew/plugins/eagle/eagle_plugin.cpp index 9a6aab5ad8..91b4f70fcd 100644 --- a/pcbnew/plugins/eagle/eagle_plugin.cpp +++ b/pcbnew/plugins/eagle/eagle_plugin.cpp @@ -1528,7 +1528,7 @@ void EAGLE_PLUGIN::orientModuleText( MODULE* m, const EELEMENT& e, FP_TEXT* txt, MODULE* EAGLE_PLUGIN::makeModule( wxXmlNode* aPackage, const wxString& aPkgName ) { - std::unique_ptr m( new MODULE( m_board ) ); + std::unique_ptr m = std::make_unique( m_board ); LIB_ID fpID; fpID.Parse( aPkgName, LIB_ID::ID_PCB, true ); diff --git a/pcbnew/plugins/geda/gpcb_plugin.cpp b/pcbnew/plugins/geda/gpcb_plugin.cpp index 0d3343903b..ef49d07b02 100644 --- a/pcbnew/plugins/geda/gpcb_plugin.cpp +++ b/pcbnew/plugins/geda/gpcb_plugin.cpp @@ -323,7 +323,7 @@ MODULE* GPCB_FPL_CACHE::parseMODULE( LINE_READER* aLineReader ) wxPoint textPos; wxString msg; wxArrayString parameters; - std::unique_ptr module( new MODULE( NULL ) ); + std::unique_ptr module = std::make_unique( nullptr ); if( aLineReader->ReadLine() == NULL ) diff --git a/pcbnew/plugins/kicad/pcb_parser.cpp b/pcbnew/plugins/kicad/pcb_parser.cpp index 50a6f5a123..4e7676e374 100644 --- a/pcbnew/plugins/kicad/pcb_parser.cpp +++ b/pcbnew/plugins/kicad/pcb_parser.cpp @@ -2096,7 +2096,7 @@ PCB_SHAPE* PCB_PARSER::parsePCB_SHAPE( bool aAllowCirclesZeroWidth ) T token; wxPoint pt; - std::unique_ptr shape( new PCB_SHAPE( NULL ) ); + std::unique_ptr shape = std::make_unique( nullptr ); switch( CurTok() ) { @@ -2296,7 +2296,7 @@ PCB_TEXT* PCB_PARSER::parsePCB_TEXT() T token; - std::unique_ptr text( new PCB_TEXT( m_board ) ); + std::unique_ptr text = std::make_unique( m_board ); NeedSYMBOLorNUMBER(); text->SetText( FromUTF8() ); @@ -2786,7 +2786,7 @@ MODULE* PCB_PARSER::parseMODULE_unchecked( wxArrayString* aInitialComments ) LIB_ID fpid; int attributes = 0; - std::unique_ptr module( new MODULE( m_board ) ); + std::unique_ptr module = std::make_unique( m_board ); std::map properties; @@ -3110,7 +3110,7 @@ FP_TEXT* PCB_PARSER::parseFP_TEXT() T token = NextTok(); - std::unique_ptr text( new FP_TEXT( NULL ) ); + std::unique_ptr text = std::make_unique( nullptr ); switch( token ) { @@ -3211,7 +3211,7 @@ FP_SHAPE* PCB_PARSER::parseFP_SHAPE() wxPoint pt; T token; - std::unique_ptr shape( new FP_SHAPE( NULL ) ); + std::unique_ptr shape = std::make_unique( nullptr ); switch( CurTok() ) { @@ -3418,7 +3418,7 @@ D_PAD* PCB_PARSER::parseD_PAD( MODULE* aParent ) wxSize sz; wxPoint pt; - std::unique_ptr< D_PAD > pad( new D_PAD( aParent ) ); + std::unique_ptr pad = std::make_unique( aParent ); // File only contains a token if KeepTopBottom is true pad->SetKeepTopBottom( false ); @@ -4017,7 +4017,7 @@ ARC* PCB_PARSER::parseARC() wxPoint pt; T token; - std::unique_ptr arc( new ARC( m_board ) ); + std::unique_ptr arc = std::make_unique( m_board ); for( token = NextTok(); token != T_RIGHT; token = NextTok() ) { @@ -4094,7 +4094,7 @@ TRACK* PCB_PARSER::parseTRACK() wxPoint pt; T token; - std::unique_ptr< TRACK > track( new TRACK( m_board ) ); + std::unique_ptr track = std::make_unique( m_board ); for( token = NextTok(); token != T_RIGHT; token = NextTok() ) { @@ -4165,7 +4165,7 @@ VIA* PCB_PARSER::parseVIA() wxPoint pt; T token; - std::unique_ptr< VIA > via( new VIA( m_board ) ); + std::unique_ptr via = std::make_unique( m_board ); for( token = NextTok(); token != T_RIGHT; token = NextTok() ) { @@ -4280,9 +4280,12 @@ ZONE_CONTAINER* PCB_PARSER::parseZONE_CONTAINER( BOARD_ITEM_CONTAINER* aParent ) if( dynamic_cast( aParent ) ) // The zone belongs a footprint inModule = true; - std::unique_ptr zone( inModule ? - new MODULE_ZONE_CONTAINER( aParent ) : - new ZONE_CONTAINER( aParent ) ); + std::unique_ptr zone; + + if( inModule ) + zone = std::make_unique( aParent ); + else + zone = std::make_unique( aParent ); zone->SetPriority( 0 ); @@ -4817,7 +4820,7 @@ PCB_TARGET* PCB_PARSER::parsePCB_TARGET() wxPoint pt; T token; - std::unique_ptr< PCB_TARGET > target( new PCB_TARGET( NULL ) ); + std::unique_ptr target = std::make_unique( nullptr ); for( token = NextTok(); token != T_RIGHT; token = NextTok() ) { diff --git a/pcbnew/plugins/legacy/legacy_plugin.cpp b/pcbnew/plugins/legacy/legacy_plugin.cpp index 24c82405b4..f108bc7dc4 100644 --- a/pcbnew/plugins/legacy/legacy_plugin.cpp +++ b/pcbnew/plugins/legacy/legacy_plugin.cpp @@ -237,10 +237,6 @@ static inline char* ReadLine( LINE_READER* rdr, const char* caller ) #endif - -using std::unique_ptr; - - static EDA_TEXT_HJUSTIFY_T horizJustify( const char* horizontal ) { if( !strcmp( "L", horizontal ) ) @@ -406,7 +402,7 @@ BOARD* LEGACY_PLUGIN::Load( const wxString& aFileName, BOARD* aAppendToMe, m_board->SetFileName( aFileName ); // delete on exception, iff I own m_board, according to aAppendToMe - unique_ptr deleter( aAppendToMe ? NULL : m_board ); + std::unique_ptr deleter( aAppendToMe ? NULL : m_board ); FILE_LINE_READER reader( aFileName ); @@ -438,7 +434,7 @@ void LEGACY_PLUGIN::loadAllSections( bool doAppend ) if( TESTLINE( "$MODULE" ) ) { - unique_ptr module( new MODULE( m_board ) ); + std::unique_ptr module = std::make_unique( m_board ); LIB_ID fpid; std::string fpName = StrPurge( line + SZ( "$MODULE" ) ); @@ -1402,7 +1398,7 @@ void LEGACY_PLUGIN::loadMODULE( MODULE* aModule ) void LEGACY_PLUGIN::loadPAD( MODULE* aModule ) { - unique_ptr pad( new D_PAD( aModule ) ); + std::unique_ptr pad = std::make_unique( aModule ); char* line; char* saveptr; @@ -1656,7 +1652,7 @@ void LEGACY_PLUGIN::loadMODULE_EDGE( MODULE* aModule ) THROW_IO_ERROR( m_error ); } - unique_ptr dwg( new FP_SHAPE( aModule, shape ) ); // a drawing + std::unique_ptr dwg = std::make_unique( aModule, shape ); // a drawing const char* data; @@ -1921,7 +1917,7 @@ void LEGACY_PLUGIN::loadPCB_LINE() $EndDRAWSEGMENT */ - unique_ptr dseg( new PCB_SHAPE( m_board ) ); + std::unique_ptr dseg = std::make_unique( m_board ); char* line; char* saveptr; @@ -2438,7 +2434,7 @@ void LEGACY_PLUGIN::loadNETCLASS() void LEGACY_PLUGIN::loadZONE_CONTAINER() { - unique_ptr zc( new ZONE_CONTAINER( m_board ) ); + std::unique_ptr zc = std::make_unique( m_board ); ZONE_BORDER_DISPLAY_STYLE outline_hatch = ZONE_BORDER_DISPLAY_STYLE::NO_HATCH; bool endContour = false; @@ -2732,7 +2728,7 @@ void LEGACY_PLUGIN::loadZONE_CONTAINER() void LEGACY_PLUGIN::loadDIMENSION() { - unique_ptr dim( new ALIGNED_DIMENSION( m_board ) ); + std::unique_ptr dim = std::make_unique( m_board ); char* line; @@ -3248,7 +3244,7 @@ void LP_CACHE::LoadModules( LINE_READER* aReader ) // test first for the $MODULE, even before reading because of INDEX bug. if( TESTLINE( "$MODULE" ) ) { - unique_ptr module( new MODULE( m_owner->m_board ) ); + std::unique_ptr module = std::make_unique( m_owner->m_board ); std::string footprintName = StrPurge( line + SZ( "$MODULE" ) ); diff --git a/pcbnew/router/pns_kicad_iface.cpp b/pcbnew/router/pns_kicad_iface.cpp index ecd61c3283..7a4780d587 100644 --- a/pcbnew/router/pns_kicad_iface.cpp +++ b/pcbnew/router/pns_kicad_iface.cpp @@ -798,7 +798,7 @@ std::unique_ptr PNS_KICAD_IFACE_BASE::syncPad( D_PAD* aPad ) return NULL; } - std::unique_ptr< PNS::SOLID > solid( new PNS::SOLID ); + std::unique_ptr solid = std::make_unique(); if( aPad->GetDrillSize().x > 0 ) { @@ -862,9 +862,8 @@ std::unique_ptr PNS_KICAD_IFACE_BASE::syncPad( D_PAD* aPad ) std::unique_ptr PNS_KICAD_IFACE_BASE::syncTrack( TRACK* aTrack ) { - std::unique_ptr< PNS::SEGMENT > segment( - new PNS::SEGMENT( SEG( aTrack->GetStart(), aTrack->GetEnd() ), aTrack->GetNetCode() ) - ); + auto segment = std::make_unique( SEG( aTrack->GetStart(), aTrack->GetEnd() ), + aTrack->GetNetCode() ); segment->SetWidth( aTrack->GetWidth() ); segment->SetLayers( LAYER_RANGE( aTrack->GetLayer() ) ); @@ -879,10 +878,9 @@ std::unique_ptr PNS_KICAD_IFACE_BASE::syncTrack( TRACK* aTrack ) std::unique_ptr PNS_KICAD_IFACE_BASE::syncArc( ARC* aArc ) { - std::unique_ptr< PNS::ARC > arc( - new PNS::ARC( SHAPE_ARC( aArc->GetStart(), aArc->GetMid(), aArc->GetEnd(), - aArc->GetWidth() ), aArc->GetNetCode() ) - ); + auto arc = std::make_unique( SHAPE_ARC( aArc->GetStart(), aArc->GetMid(), aArc->GetEnd(), + aArc->GetWidth() ), + aArc->GetNetCode() ); arc->SetLayers( LAYER_RANGE( aArc->GetLayer() ) ); arc->SetParent( aArc ); @@ -901,14 +899,12 @@ std::unique_ptr PNS_KICAD_IFACE_BASE::syncVia( VIA* aVia ) PCB_LAYER_ID top, bottom; aVia->LayerPair( &top, &bottom ); - std::unique_ptr via( new PNS::VIA( - aVia->GetPosition(), - LAYER_RANGE( aVia->TopLayer(), aVia->BottomLayer() ), - aVia->GetWidth(), - aVia->GetDrillValue(), - aVia->GetNetCode(), - aVia->GetViaType() ) - ); + auto via = std::make_unique( aVia->GetPosition(), + LAYER_RANGE( aVia->TopLayer(), aVia->BottomLayer() ), + aVia->GetWidth(), + aVia->GetDrillValue(), + aVia->GetNetCode(), + aVia->GetViaType() ); via->SetParent( aVia ); @@ -968,7 +964,7 @@ bool PNS_KICAD_IFACE_BASE::syncZone( PNS::NODE* aWorld, ZONE_CONTAINER* aZone, triShape->Append( b ); triShape->Append( c ); - std::unique_ptr< PNS::SOLID > solid( new PNS::SOLID ); + std::unique_ptr solid = std::make_unique(); solid->SetLayer( layer ); solid->SetNet( -1 ); @@ -1002,7 +998,7 @@ bool PNS_KICAD_IFACE_BASE::syncTextItem( PNS::NODE* aWorld, EDA_TEXT* aText, PCB { VECTOR2I start( textShape[jj] ); VECTOR2I end( textShape[jj+1] ); - std::unique_ptr< PNS::SOLID > solid( new PNS::SOLID ); + std::unique_ptr solid = std::make_unique(); solid->SetLayer( aLayer ); solid->SetNet( -1 ); @@ -1048,7 +1044,7 @@ bool PNS_KICAD_IFACE_BASE::syncGraphicalItem( PNS::NODE* aWorld, PCB_SHAPE* aIte for( SHAPE* shape : aItem->MakeEffectiveShapes() ) { - std::unique_ptr< PNS::SOLID > solid( new PNS::SOLID ); + std::unique_ptr solid = std::make_unique(); if( aItem->GetLayer() == Edge_Cuts ) solid->SetLayers( LAYER_RANGE( F_Cu, B_Cu ) ); diff --git a/pcbnew/router/pns_node.cpp b/pcbnew/router/pns_node.cpp index 4906e1cbe4..bb353c6710 100644 --- a/pcbnew/router/pns_node.cpp +++ b/pcbnew/router/pns_node.cpp @@ -602,7 +602,7 @@ void NODE::Add( LINE& aLine, bool aAllowRedundant ) } else { - std::unique_ptr< SEGMENT > newseg( new SEGMENT( aLine, s ) ); + std::unique_ptr newseg = std::make_unique( aLine, s ); aLine.Link( newseg.get() ); Add( std::move( newseg ), true ); } diff --git a/pcbnew/tracks_cleaner.cpp b/pcbnew/tracks_cleaner.cpp index 5d5bcce6d6..243d2833dd 100644 --- a/pcbnew/tracks_cleaner.cpp +++ b/pcbnew/tracks_cleaner.cpp @@ -192,7 +192,7 @@ bool TRACKS_CLEANER::deleteDanglingTracks( bool aVia ) int errorCode = ( track->Type() != PCB_VIA_T ) ? CLEANUP_DANGLING_TRACK : CLEANUP_DANGLING_VIA; - std::shared_ptr item( new CLEANUP_ITEM( errorCode ) ); + std::shared_ptr item = std::make_shared( errorCode ); item->SetItems( track ); m_itemsList->push_back( item ); @@ -241,7 +241,7 @@ void TRACKS_CLEANER::deleteTracksInPads() if( poly.IsEmpty() ) { - std::shared_ptr item( new CLEANUP_ITEM( CLEANUP_TRACK_IN_PAD ) ); + std::shared_ptr item = std::make_shared( CLEANUP_TRACK_IN_PAD ); item->SetItems( track ); m_itemsList->push_back( item ); @@ -473,7 +473,7 @@ bool TRACKS_CLEANER::mergeCollinearSegments( TRACK* aSeg1, TRACK* aSeg2 ) return false; } - std::shared_ptr item( new CLEANUP_ITEM( CLEANUP_MERGE_TRACKS ) ); + std::shared_ptr item = std::make_shared( CLEANUP_MERGE_TRACKS ); item->SetItems( aSeg1, aSeg2 ); m_itemsList->push_back( item ); diff --git a/qa/eeschema/eeschema_test_utils.cpp b/qa/eeschema/eeschema_test_utils.cpp index 5bfbe6e5b7..57227da33d 100644 --- a/qa/eeschema/eeschema_test_utils.cpp +++ b/qa/eeschema/eeschema_test_utils.cpp @@ -63,7 +63,7 @@ wxFileName KI_TEST::GetEeschemaTestDataDir() std::unique_ptr ReadSchematicFromFile( const std::string& aFilename ) { auto pi = SCH_IO_MGR::FindPlugin( SCH_IO_MGR::SCH_KICAD ); - std::unique_ptr schematic( new SCHEMATIC ( nullptr ) ); + std::unique_ptr schematic = std::make_unique( nullptr ); schematic->Reset(); schematic->SetRoot( pi->Load( aFilename, schematic.get() ) ); diff --git a/qa/eeschema/test_lib_part.cpp b/qa/eeschema/test_lib_part.cpp index 23635235de..20770927f0 100644 --- a/qa/eeschema/test_lib_part.cpp +++ b/qa/eeschema/test_lib_part.cpp @@ -441,9 +441,9 @@ BOOST_AUTO_TEST_CASE( GetUnitDrawItems ) */ BOOST_AUTO_TEST_CASE( Inheritance ) { - std::unique_ptr< LIB_PART > parent( new LIB_PART( "parent" ) ); + std::unique_ptr parent = std::make_unique( "parent" ); BOOST_CHECK( parent->IsRoot() ); - std::unique_ptr< LIB_PART > child1( new LIB_PART( "child1", parent.get() ) ); + std::unique_ptr child1 = std::make_unique( "child1", parent.get() ); BOOST_CHECK( child1->IsAlias() ); PART_SPTR parentRef = child1->GetParent().lock(); BOOST_CHECK( parentRef ); @@ -464,7 +464,7 @@ BOOST_AUTO_TEST_CASE( Inheritance ) */ BOOST_AUTO_TEST_CASE( CopyConstructor ) { - std::shared_ptr< LIB_PART > copy( new LIB_PART( m_part_no_data ) ); + std::shared_ptr copy = std::make_shared( m_part_no_data ); BOOST_CHECK( m_part_no_data == *copy.get() ); }