Skip to content

Miscellaneous cleanup for CCameraBase#753

Merged
marktsuchida merged 3 commits intomicro-manager:mainfrom
marktsuchida:ccamerabase-cleanup
Sep 25, 2025
Merged

Miscellaneous cleanup for CCameraBase#753
marktsuchida merged 3 commits intomicro-manager:mainfrom
marktsuchida:ccamerabase-cleanup

Conversation

@marktsuchida
Copy link
Copy Markdown
Member

@marktsuchida marktsuchida commented Sep 25, 2025

Some followup to #590. See commits for details.

The removal of 'using' declarations needs confirmation:

  • Builds on Windows
  • Builds on macOS
  • Builds on Linux

The base interface class MM::Camera already has an empty virtual
destructor.
Use `this->` instead to access base class template members.

However, had to keep 2 `using` declarations that make protected members
of CDeviceBase public in CCameraBase, because a number of cameras depend
on that.
C++ always calls a base class constructor, and there is no need to make
an explicit call when using the default constructor of the base class.

The fact that these show up in cameras, stages, and XY stages (but not
other device types) suggests all this is the result of copy-paste.

Since I recently removed a bunch of these (for cameras that needed to
switch from CCameraBase to CLegacyCameraBase), I'm taking the
opportunity to eradicate them.
@marktsuchida marktsuchida merged commit f4685d1 into micro-manager:main Sep 25, 2025
8 checks passed
@marktsuchida marktsuchida deleted the ccamerabase-cleanup branch September 25, 2025 23:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant