| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Doxygen creates links to sigc::slot and sigc::signal only if
template parameters are included in the documentation.
sigc::slot<T_return(T_arg...)>, sigc::signal<T_return(T_arg...)>.
|
|
|
|
|
| |
Some documentation of template parameters described sigc++-2.0
rather than sigc++-3.0.
|
| |
|
|
|
|
| |
and call clang-format directly without using autogen.sh + make.
|
|
|
|
|
|
| |
Irritating that different versions of clang-format don't agree on what's
an acceptable format, and that clang-format 10 is not easily installable
on Ubuntu 21.10.
|
|
|
|
|
|
|
|
|
|
| |
* sigc++/functors/mem_fun.h:
* sigc++/functors/ptr_fun.h:
* tests/test_rvalue_ref.cc: Reformated with clang-format 13,
but CI uses clang-format 10.
Also add #include <utility> where std::forward was added. Doesn't seem
to be necessary with g++ or clang++. Mostly a precaution.
|
|
|
|
|
| |
This is a missed addition to the commit that allowed rvalue references
in slot parameters.
|
|
|
|
|
| |
This is a missed addition to the commit that allowed rvalue references
in slot parameters.
|
|
|
|
| |
Should have been done when configure.ac and meson.build were updated.
|
|
|
|
| |
Make the VS2019 builds distinct from VS2022 builds.
|
| |
|
|
|
|
|
| |
libxml2-utils and docbook5-xml are necessary in order to validate
the XML file in docs/docs/manual/.
|
| |
|
| |
|
|
|
|
|
|
| |
New versions of mm-common use the Python scripts doc_postprocess.py
and doc_install.py instead of the Perl scripts doc-postprocess.pl and
doc-install.pl when documentation is built.
|
|
|
|
|
| |
Remove docs/docs/manual/README, docs/docs/reference/README
and docs/Makefile.
|
|
|
|
|
| |
making it slightly more similar to gtkmm-documentation and libxml++.
In Autotools builds, don't distribute the empty manual/README file.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tests/.gitignore:
* tests/CMakeLists.txt:
* tests/Makefile.am: Add test_rvalue_ref.
* tests/test_rvalue_ref.cc: Avoid [-Werror=unused-parameter]
when building with warnings=fatal.
Some files have been reformated with clang-format in order to
make the CI tests happy. Reformated with clang-format 12, but CI
uses clang-format 10.
|
|
|
|
| |
This reverts commit 01652fdbc9f6fc2e72b217c9de8c89c93f95ba7c.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tests/.gitignore:
* tests/CMakeLists.txt:
* tests/Makefile.am: Add test_rvalue_ref.
* tests/test_rvalue_ref.cc: Avoid [-Werror=unused-parameter]
when building with warnings=fatal.
Some files have also been reformated with clang-format in order to
make the CI tests happy. Reformated with clang-format 12, but CI
uses clang-format 10.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In code based on Glibmm it's quite common to convert a Glib C structure
to a Glib::Object's descendant before passing it as a parameter to a
slot. If the slot is not supposed to modify the object, then everything
is fine, we can declare the parameter as a const reference and the
temporary object will be accurately dealt with by the compiler. However,
if the Glib based object is getting modified, the only way to pass it to
the slot is to declare it a Glib::RefPtr shared pointer. This creates a
lot of unnecessary churn of memory allocations for a simple deal of
calling a signal. However, C++ has a specific mean for this particular
semantic of passing a temporary object: rvalue reference.
For example, somewhere inside Gtkmm might be a declaration:
_WRAP_SIGNAL(void sun_rose(const Glib::RefPtr<Gtk::Sun> &new_sun),
"sun-rose")
Instead its more semantically correct to write:
_WRAP_SIGNAL(void sun_rose(Gtk::Sun &&new_sun), "sun-rose")
And later somewhere in your code:
world->signal_sun_rose().connect([&](auto &&new_sun) {
new_sun.shine();
});
This commit makes a couple of simple modifications that allow declaring
signals and slots with rvalue reference parameter.
|
| |
|
|
|
|
| |
Replace /wd4530 with /EHsc, as that is the more proper CXXFlag to use for C++ programs
|
|
|
|
|
| |
Doxygen in a main project shall not be called before tag files have been
created or updated in subprojects.
|
|
|
|
|
|
|
|
|
|
|
| |
* meson.build: If mm-common-get is not found in maintainer-mode
with 'required: false', try with 'required: true'.
Don't try to use tag_file, if documentation is not built.
* docs/docs/reference/meson.build: Don't use variables from modules
that don't define doxytagfile. These are subprojects that don't build
their documentation.
Fixes #71
|
|
|
|
|
|
|
|
|
|
|
|
| |
* meson.build:
* MSVC_NMake/meson.build:
* docs/docs/manual/meson.build:
* docs/docs/reference/meson.build:
Call add_dist_script() in a subproject, if meson.version() >= 0.58.0.
* tools/handle-built-files.py:
* tools/tutorial-custom-cmd.py:
Use MESON_PROJECT_DIST_ROOT if it exists, else MESON_DIST_ROOT.
It exists if meson.version() >= 0.58.0.
|
| |
|
|
|
|
|
| |
It shall not be possible to find a sigc++ header file
with #include <xxx.h> instead of #include <sigc++/xxx.h>.
|
|
|
|
|
|
|
| |
meson.version() >= 0.54.0 is necessary if sigc++ is a subproject,
or if mm-common is a subproject of sigc++.
Only meson.version() <= 0.53.2 is available in CI. Make it possible
to build with version 0.53.2 as long as no subprojects are used.
|
|
|
|
| |
mm-common can be a subproject of sigc++.
|
| |
|
|
|
|
| |
This requires clang-format-10, which is available in ubuntu-20.04.
|
|
|
|
| |
However, this requires clang 10.
|
|
|
|
| |
So the generated sigc++config.h will have the correct formatting.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
GitHub Actions now supports ubuntu-20.04 directly, not only via a
separate container:
https://github.com/actions/virtual-environments
And use ubuntu-18.04 instead of ubuntu-latest, because that's what it
currently is, but ubuntu-latest will change to mean ubuntu-20.04 soon:
https://github.com/actions/virtual-environments/issues/1816
|
|
|
|
|
| |
The changes are automatically published at
libsigcplusplus.github.io/libsigcplusplus.
|
| |
|
|
|
|
|
| |
Remove test with clang 7.
Test gcc 9 and clang 10 with meson instead of autotools.
|
|
|
|
| |
Building with clang 7, 8, 9 and 10 is enough.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This test does not work any more. I don't know how to fix it.
Run it only manually.
Unable to process command '##[add-path]C:\Program Files (x86)\
Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin' successfully.
The `add-path` command is disabled. Please upgrade to using Environment Files
or opt into unsecure command execution by setting the
`ACTIONS_ALLOW_UNSECURE_COMMANDS` environment variable to `true`.
For more information see: https://github.blog/changelog/
2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
|
| |
|