1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-23 17:30:17 +01:00

Delete or un-inline some constructors, assignments, others...

... Which will be needed for various reasons for Windows builds of certain
modularizations, which will otherwise complain that they can no longer
generate them as inlines.

In one case, deleted copies require explicitly defaulted moves, but they will
work as generated inline.
This commit is contained in:
Paul Licameli
2020-09-29 08:54:22 -04:00
committed by Paul Licameli
parent 3060530b4f
commit fbfccf1393
15 changed files with 62 additions and 17 deletions

View File

@@ -111,6 +111,8 @@ void ClipMoveState::DoHorizontalOffset( double offset )
}
}
TrackShifter::TrackShifter() = default;
TrackShifter::~TrackShifter() = default;
void TrackShifter::UnfixIntervals(

View File

@@ -30,6 +30,10 @@ class ViewInfo;
//! Abstract base class for policies to manipulate a track type with the Time Shift tool
class TrackShifter {
public:
TrackShifter();
TrackShifter(const TrackShifter&) PROHIBITED;
TrackShifter &operator=(const TrackShifter&) PROHIBITED;
virtual ~TrackShifter() = 0;
//! There is always an associated track
virtual Track &GetTrack() const = 0;
@@ -196,6 +200,14 @@ using MakeTrackShifter = AttachedVirtualFunction<
class ViewInfo;
struct ClipMoveState {
ClipMoveState() = default;
ClipMoveState(const ClipMoveState&) PROHIBITED;
ClipMoveState& operator =(const ClipMoveState&) PROHIBITED;
ClipMoveState(ClipMoveState&&) = default;
ClipMoveState& operator =(ClipMoveState&&) = default;
using ShifterMap = std::unordered_map<Track*, std::unique_ptr<TrackShifter>>;
//! Will associate a TrackShifter with each track in the list