kicad/include
John Beard 89fe9d378c Add C++14-style std::make_unique 'polyfill' for C++11
std::make_unique is a very useful part of the new C++ smart pointers
ecosystem, as it allows one to dispense entirely with "new" and also
provides exception safety in some cases when creating temporary
variables.

It also allows more concise code by avoiding repetition of the type:

    std::make_unique<TYPE>( args );

vs

    std::unique_ptr<TYPE>( new TYPE( args ) );

This commit adds a "polyfill" to provide std::make_unique when C++11 is
enabled. The implementation is that submitted to the C++ committee, and
is essentially how it is done in GCC for C++14.

The intention is to allow KiCad to use this implementation when using
C++11 and when C++14 or greater is a requirement, to remove this code
and use the compiler implementation.
2017-01-23 11:41:00 +01:00
..
core Pcbnew: major swig fix. 2016-07-18 13:23:09 -04:00
gal Alternative way of handling OpenGL initialization & errors 2017-01-13 16:50:36 +01:00
geometry router: snap to clearance boundaries in Highlight Collisions mode 2017-01-19 17:47:15 +01:00
kicad_curl GitHub plugin: fix threading issues when libcurl is build against openssl. 2016-01-14 10:17:13 -05:00
math Refactor COMPOSITOR/OPENGL_COMPOSITOR to enable customization of scene rendering and presentation 2017-01-11 16:20:35 +01:00
plugins Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
tool Removed redundant CONTEXT_MENU::m_parent field. 2017-01-23 11:40:59 +01:00
ttl Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
view Code formatting 2017-01-18 13:22:40 +01:00
widgets More Coverity warnings fixes. 2016-12-30 14:36:23 +01:00
base_struct.h Refactoring of VIEW/VIEW_ITEM classes: 2016-12-12 16:45:52 +01:00
base_units.h Fix a bunch of misspellings of length. 2016-07-10 23:09:18 -04:00
basic_gal.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
bezier_curves.h More missing source license fixes. 2014-10-22 11:51:34 -04:00
bin_mod.h Minor coding style fixes in headers 2016-01-12 11:33:33 -05:00
bitmaps.h Cosmetic enhancement in pcbnew menubar: use specific icon in menuitems to switch canvases, and add a marker to the mode currently in use 2017-01-14 14:43:45 +01:00
block_commande.h Fix Bug #1426675 (Undo and cancel commands don't have effect for Duplicate operation in legacy mode) 2015-03-22 10:42:41 +01:00
build_version.h More missing source license fixes. 2014-10-22 11:51:34 -04:00
class_base_screen.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
class_bitmap_base.h Eeschema: add saving schematic files to schematic plugin. 2016-07-11 15:48:46 -04:00
class_board_design_settings.h Remove a few coverity warnings. Fix some comments which were incorrect, due to the changes in code. Remove not compiled code (kept as comments), now outdated or useless 2015-03-13 17:48:42 +01:00
class_board_item.h Fixed a crash on finishing line drawing in the legacy FP editor 2016-12-13 17:25:34 +01:00
class_collector.h Pcbnew: major swig fix. 2016-07-18 13:23:09 -04:00
class_colors_design_settings.h Gerbview: code cleanup (with the help of Mark Roszko's work) 2016-05-25 11:45:55 +02:00
class_draw_panel_gal.h EDA_DRAW_PANEL_GAL now takes the gal display options per dependency injection 2017-01-11 16:20:37 +01:00
class_drawpanel.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
class_drc_item.h Fix uninitialized member in DRC_ITEM constructor. 2014-08-16 14:12:11 -04:00
class_eda_rect.h 3D Viewer: complete refactor of the 3D viewer. 2016-07-19 13:35:25 -04:00
class_layer_box_selector.h More missing source license fixes. 2014-10-22 11:51:34 -04:00
class_marker_base.h Move the non shared file class_sch_screen.h to eeschema folder. Code cleaning. Remove some wxCHECK_VERSION tests now useless. 2015-07-29 20:06:45 +02:00
class_page_info.h Move the non shared file class_sch_screen.h to eeschema folder. Code cleaning. Remove some wxCHECK_VERSION tests now useless. 2015-07-29 20:06:45 +02:00
class_pcb_screen.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
class_title_block.h Synchronize forward declaration with definition 2016-09-21 16:35:00 -04:00
class_undoredo_container.h Unified undo buffer handling code for PCB & module editor. 2016-09-12 11:50:06 +02:00
class_worksheet_dataitem.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
colors.h Try to fix a compil issue on OSX (no viable conversion from 'const wxString' to 'const wxChar *', in colors.cpp) 2016-05-17 09:10:15 +02:00
colors_selection.h More missing source license fixes. 2014-10-22 11:51:34 -04:00
commit.h Removed aCreateUndoEntry flag from COMMIT::Push() 2016-12-12 16:45:52 +01:00
common.h Add C++14-style std::make_unique 'polyfill' for C++11 2017-01-23 11:41:00 +01:00
config_params.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
confirm.h Clean up includes in confirm.cpp, confirm.h 2016-01-18 00:17:56 -05:00
convert_basic_shapes_to_polygon.h Prepare rounded rect and custom shaped pads: add plot functions. It fixes also a pcbnew crash in HPGL mode when plotting trapezoidal pads. 2016-02-10 17:02:40 +01:00
convert_to_biu.h convert_to_biu: Changed defines & functions to constexpr 2016-12-12 16:45:52 +01:00
dialog_env_var_config.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
dialog_get_component.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
dialog_helpers.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
dialog_hotkeys_editor.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
dialog_shim.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
dlist.h Refinement to commit #4993. 2014-07-14 16:43:21 +02:00
draw_frame.h Add UI control to set up gal opengl antialiasing and load/store the settings 2017-01-11 16:20:37 +01:00
drawtxt.h Rework on class EDA_TEXT and related classes and draw functions. More work. Eechema: in rotate texts: redraw the full screen to avoid garbage on screen. 2016-03-23 13:16:27 +01:00
dsnlexer.h More Coverity scan error fixes. 2015-02-22 16:25:29 -05:00
eda_dde.h More missing source license fixes. 2014-10-22 11:51:34 -04:00
eda_doc.h More missing source license fixes. 2014-10-22 11:51:34 -04:00
eda_pattern_match.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
eda_text.h Switched to default constructor and operator= for EDA_TEXT. 2016-09-12 11:50:06 +02:00
fctsys.h removed wx carbon include in fctsys as it is unnecessary 2015-12-12 23:03:35 +13:00
filter_reader.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
footprint_info.h Replace BOOST_FOREACH with C++11 range based for. 2016-06-29 16:07:55 -04:00
fp_lib_table.h Make footprint ID into a generic library ID. 2016-11-20 18:35:08 -05:00
frame_type.h ngspice: something starts to work 2016-08-11 14:41:01 +02:00
gbr_netlist_metadata.h Gerbview: locate item now does not take in account not visible layers. Remove an unused file 2016-08-19 09:45:59 +02:00
gestfich.h Default and most recently used path fixes. (fixes: 1494210) 2015-09-25 15:38:09 -04:00
gl_context_mgr.h Reverted 6912 with minor changes (LockCtx requires to specify canvas that locks a context). 2016-06-13 16:43:33 +02:00
gr_basic.h All: use solid lines instead of dashed lines to draw X and Y axis in legacy canvas (like in Gal canvas). The main reason: on OSX axis using dashed lines are very very slow to draw (looks like a wxWidget issue when the wxDC scale factor is very small) 2015-10-25 17:58:04 +01:00
grid_tricks.h *) Factor out Cut, Copy, and Paste for wxGrid into class common/GRID_TRICKS. 2013-10-23 13:56:03 -05:00
hashtables.h Pcbnew: major swig fix. 2016-07-18 13:23:09 -04:00
hotkeys_basic.h Add zoom-to-selection tool 2016-06-08 07:19:53 -04:00
html_messagebox.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
i18n_utility.h Try to fix a compil issue on OSX (no viable conversion from 'const wxString' to 'const wxChar *', in colors.cpp) 2016-05-17 09:10:15 +02:00
id.h CvPcb: remove broken footprint documentation feature. 2016-10-11 15:08:40 -04:00
import_export.h Use _WIN32 instead of __MINGW32__ in 2 conditional compilations which are Windows specific, not especially mingw32 specific. 2016-03-01 16:55:44 +01:00
ki_exception.h Add SWIG support for NETCLASSPTR. Reduce SWIG visibility from C++ headers. 2016-09-21 19:52:04 -04:00
ki_mutex.h More missing source license fixes. 2014-10-22 11:51:34 -04:00
kicad_device_context.h Minor coding style fixes in headers 2016-01-12 11:33:33 -05:00
kicad_string.h Add missing include in kicad_string.h 2016-11-07 12:36:42 -05:00
kiface_i.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
kiway.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
kiway_express.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
kiway_mgr.h Minor coding style fixes in headers 2016-01-12 11:33:33 -05:00
kiway_player.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
layers_id_colors_and_visibility.h Code cleaning: remove pcbcommon.* which contains nothing really useful. The very few lines of code are moved to a better place. 2016-12-31 12:56:21 +01:00
length.h.usuned Namespace KiGfx->KIGFX. 2013-10-14 16:13:35 +02:00
lib_id.h Make footprint ID into a generic library ID. 2016-11-20 18:35:08 -05:00
lib_table_base.h Make footprint ID into a generic library ID. 2016-11-20 18:35:08 -05:00
lru_cache.h 3D Viewer: complete refactor of the 3D viewer. 2016-07-19 13:35:25 -04:00
macros.h Code cleaning: remove pcbcommon.* which contains nothing really useful. The very few lines of code are moved to a better place. 2016-12-31 12:56:21 +01:00
mail_type.h One-click PCB update improvements 2016-01-29 15:43:40 +01:00
make_unique.h Add C++14-style std::make_unique 'polyfill' for C++11 2017-01-23 11:41:00 +01:00
menus_helpers.h CvPcb: serious code cleanup (work in progress): Remove dead or outdated code. Fix a lot of coding style issues. Use better code in many places. No new features. 2016-02-25 10:52:29 +01:00
msgpanel.h More Coverity scan error fix goodness. 2015-02-28 15:50:35 -05:00
newstroke_font.h Fix incorrect (too small) bounding box EDA_TEXT, noticeable when chars like j or { are used in zone fill functions. 2016-03-11 13:08:34 +01:00
observable.h OpenGL antialising code clean up & formatting 2017-01-11 16:20:37 +01:00
origin_viewitem.h fixed post-rebase issues 2016-12-12 16:45:52 +01:00
pad_shapes.h Remove duplicate definitions only needed only by old python wizards. No more useful in master branch, since a long time. 2016-11-25 13:30:11 +01:00
painter.h Replace boost::shared_ptr with std::shared_ptr. 2016-06-29 11:09:55 -04:00
pcbstruct.h pcbnew legacy: remove option to hide via drill 2016-05-10 16:47:37 -04:00
pgm_base.h SWIG Improvements 2016-09-20 11:59:43 -04:00
plot_auxiliary_data.h Prepare Plot Gerber file to include advanced aperture and net attributes. 2016-09-19 13:01:36 +02:00
plot_common.h eeschema: set title of plotted pdf to sheet title 2017-01-20 17:11:12 -05:00
profile.h Performance counter: use correct std::chrono clock 2017-01-06 09:54:38 -05:00
project.h Resync with main branch r6482 2016-01-16 19:10:53 +11:00
properties.h Eeschema: initial schematic I/O plugin. 2016-07-06 05:22:56 -04:00
ptree.h Minor coding style fixes in headers 2016-01-12 11:33:33 -05:00
reporter.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
richio.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
scoped_set_reset.h Add context menu to GAL DRAWING_TOOL, including the zone menu 2017-01-11 10:41:08 +01:00
search_stack.h Fix windows help path bug. (fixes lp:1313412) 2015-09-20 14:23:17 -04:00
trigo.h Add Set/GetOrientationDegrees and GetOrientationRadians for texts, pads and footprints to avoid internal units to usual angle units conversion in code (and avoid mistakes). 2016-05-02 12:49:14 +02:00
utf8.h Pcbnew: major swig fix. 2016-07-18 13:23:09 -04:00
validators.h Envrionment variable dialog improvments. 2015-08-16 20:30:29 -04:00
wildcards_and_files_ext.h KiCad: add html file support to tree view. 2015-06-24 15:30:35 -04:00
worksheet.h Add %L formatter to worksheets to print layer name. 2016-09-10 14:23:59 -04:00
worksheet_shape_builder.h Fix 2 Coverity warnings. 2016-09-26 19:58:32 +02:00
worksheet_viewitem.h Code formatting 2016-12-12 16:45:52 +01:00
wxBasePcbFrame.h Cosmetic enhancement in pcbnew menubar: use specific icon in menuitems to switch canvases, and add a marker to the mode currently in use 2017-01-14 14:43:45 +01:00
wxPcbStruct.h pcbnew: added flip view mode 2016-12-12 16:45:52 +01:00
wx_status_popup.h Code formatting. 2015-02-18 17:53:46 +01:00
wx_unit_binder.h Method to check WX_UNIT_BINDER value validity. 2015-07-09 13:35:50 +02:00
wxstruct.h Move PostCommandMenuEvent to EDA_BASE_FRAME 2017-01-23 11:41:00 +01:00
wxunittext.h Fix many doxygen warnings (due to missing info, old comments, typo ...) when building the doxygen doc. 2014-11-02 17:25:04 +01:00
xnode.h Minor coding style fixes in headers 2016-01-12 11:33:33 -05:00