Comments (2)
Until now, Qt's smart pointers are used instead of the C++11 ones. The only disadvantage seems to be that QScopedPointer has no move semantics. As a workaround we could use QSharedPointer where move semantics were required.
The other way would be to replace all Qt smart pointers with C++11 ones and don't use Qt pointers any more.
C++11 smart pointers never throw std::exceptions by themself, do they? If they do, we would have to wrap them with our own exception classes...
from librepcb.
I consider this as closed for following reasons:
- C++ smart pointers can throw exceptions in many situations. So we would have to wrap all
std::exception
with our ownlibrepcb::Exception
class. This is PITA. - Qt's smart pointers are already widely used in LibrePCB. And in every new class I'm creating or refactoring, I use smart pointers instead of raw pointers where applicable.
- Replacing all old raw pointers with smart pointers at once would require lot of effort. I think it's better to replace them step by step when refactoring old classes. Most of the classes will need some refactoring anyway at some point...
- Using smart pointers is now recommended in the developers documentation.
- Maybe Qt provides a unique pointer with move semantics someday ;) Until then we can use
QSharedPointer
instead.
from librepcb.
Related Issues (20)
- You got mail! HOT 2
- Relay coil symbol for IEEE 315 shows a box instead of a coil. HOT 1
- Wrong colors for identical objects in STEP files HOT 3
- Schematic Editor: add function "add waypoint" or "break" HOT 2
- Schematic Editor: add function to disconnect/reconnect wire HOT 2
- Schematic Editor: reposition junction dots in a senseful way when wires are rearranged HOT 1
- Library/Symbol Editor: allow dotted or dashed lines for graphical elements HOT 1
- Library editor: Increase pin name length HOT 2
- Add Repology badge to README HOT 4
- Graphics output job: Migrate realistic mode option to new file format
- LibrePCB-1.0.0 does not support OpenCascade 7.8.0 HOT 3
- Schematic editor: impossible to move labels if they are on top of a symbol HOT 1
- Improve behavior of object selection HOT 1
- Library: "Copy to other library" unexpectedly retains same UUID in pasted symbol HOT 2
- Schematic editor: display mount state on schematic HOT 1
- Cross-probe nets between schematic and board HOT 3
- Feature Request: Copy part number to clipboard from Add Component dialogue HOT 1
- RIGHT mouse button HOT 1
- Schematic Editor: add "copy part number to clipboard" on right click
- Schematic Editor: Different colors per wire HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from librepcb.