Skip to content

Commit

Permalink
Optional support for write_element definitions that take the value to…
Browse files Browse the repository at this point in the history
… write as an argument, instead of returning a reference to the element.
  • Loading branch information
zajo committed Mar 15, 2022
1 parent 786303c commit f7a3f6f
Show file tree
Hide file tree
Showing 79 changed files with 4,462 additions and 2,044 deletions.
17 changes: 12 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,28 @@ jobs:
- toolset: gcc-4.8
cxxstd: "03,11"
os: ubuntu-18.04
install: g++-4.8
install: g++-4.8-multilib
address-model: 32,64
- toolset: gcc-5
cxxstd: "03,11,14,1z"
os: ubuntu-18.04
install: g++-5
install: g++-5-multilib
address-model: 32,64
- toolset: gcc-6
cxxstd: "03,11,14,1z"
os: ubuntu-18.04
install: g++-6
install: g++-6-multilib
address-model: 32,64
- toolset: gcc-7
cxxstd: "03,11,14,17"
os: ubuntu-18.04
install: g++-7-multilib
address-model: 32,64
- toolset: gcc-8
cxxstd: "03,11,14,17,2a"
os: ubuntu-18.04
install: g++-8
install: g++-8-multilib
address-model: 32,64
- toolset: gcc-9
cxxstd: "03,11,14,17,2a"
os: ubuntu-20.04
Expand Down Expand Up @@ -137,7 +143,8 @@ jobs:
- name: Run tests
run: |
cd ../boost-root
./b2 -j3 libs/qvm/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} variant=debug,release,debug_qvm_hpp,release_qvm_hpp,debug_qvm_lite_hpp,release_qvm_lite_hpp
export ADDRMD=${{matrix.address-model}}
./b2 -j3 libs/qvm/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} ${ADDRMD:+address-model=$ADDRMD} variant=debug,release,debug_qvm_hpp,release_qvm_hpp,debug_qvm_lite_hpp,release_qvm_lite_hpp
windows:
strategy:
Expand Down
8 changes: 4 additions & 4 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
},
"label": "Build all unit tests and examples (debug)",
"type": "shell",
"command": "cd ${workspaceRoot}/bld/debug && ninja",
"command": "cd ${workspaceRoot}/bld/debug && ninja && cd ${workspaceRoot}/bld/debug_qvm_hpp && ninja && cd ${workspaceRoot}/bld/debug_qvm_lite_hpp && ninja",
"problemMatcher": {
"base": "$gcc",
"fileLocation": [
Expand All @@ -44,7 +44,7 @@
"dependsOn": [
"Generate headers"
],
"command": "cd ${workspaceRoot}/bld/debug && meson test && cd ${workspaceRoot}/bld/debug_qvm_hpp && meson test && cd ${workspaceRoot}/bld/debug_qvm_lite_hpp && meson test",
"command": "cd ${workspaceRoot}/bld/debug && ninja && meson test && cd ${workspaceRoot}/bld/debug_qvm_hpp && ninja && meson test && cd ${workspaceRoot}/bld/debug_qvm_lite_hpp && ninja && meson test",
"problemMatcher": {
"base": "$gcc",
"fileLocation": [
Expand All @@ -60,7 +60,7 @@
"dependsOn": [
"Generate headers"
],
"command": "cd ${workspaceRoot}/bld/release && meson test && cd ${workspaceRoot}/bld/release_qvm_hpp && meson test && cd ${workspaceRoot}/bld/release_qvm_lite_hpp && meson test",
"command": "cd ${workspaceRoot}/bld/release && ninja && meson test && cd ${workspaceRoot}/bld/release_qvm_hpp && ninja && meson test && cd ${workspaceRoot}/bld/release_qvm_lite_hpp && ninja && meson test",
"problemMatcher": {
"base": "$gcc",
"fileLocation": [
Expand Down Expand Up @@ -92,7 +92,7 @@
},
"label": "Test current editor file",
"type": "shell",
"command": "cd ${workspaceRoot}/bld/debug && meson test ${fileBasenameNoExtension}",
"command": "cd ${workspaceRoot}/bld/debug && ninja && { meson test ${fileBasenameNoExtension} || cat ./meson-logs/testlog.txt }",
"problemMatcher": {
"base": "$gcc",
"fileLocation": [
Expand Down
16 changes: 8 additions & 8 deletions doc/qvm.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4863,7 +4863,7 @@ This exception indicates that an operation requires a matrix with non-zero deter
==== `INLINE`
===== `BOOST_QVM_INLINE`

.#include <boost/qvm/inline.hpp>
.#include <boost/qvm/config.hpp>
[source,c++]
----
namespace boost { namespace qvm {
Expand All @@ -4875,15 +4875,15 @@ namespace boost { namespace qvm {
} }
----

This macro is not used directly by QVM, except as the default value of other macros from `<boost/qvm/inline.hpp>`. A user-defined `BOOST_QVM_INLINE` should expand to a value that is valid substitution of the `inline` keyword in function definitions.
This macro is not used directly by QVM, except as the default value of other macros from `<boost/qvm/config.hpp>`. A user-defined `BOOST_QVM_INLINE` should expand to a value that is valid substitution of the `inline` keyword in function definitions.

'''

[[BOOST_QVM_FORCE_INLINE]]
==== `FORCE_INLINE`
===== `BOOST_QVM_FORCE_INLINE`

.#include <boost/qvm/inline.hpp>
.#include <boost/qvm/config.hpp>
[source,c++]
----
namespace boost { namespace qvm {
Expand All @@ -4895,15 +4895,15 @@ namespace boost { namespace qvm {
} }
----

This macro is not used directly by QVM, except as the default value of other macros from `<boost/qvm/inline.hpp>`. A user-defined `BOOST_QVM_FORCE_INLINE` should expand to a value that is valid substitution of the `inline` keyword in function definitions, to indicate that the compiler must inline the function. Of course, actual inlining may or may not occur.
This macro is not used directly by QVM, except as the default value of other macros from `<boost/qvm/config.hpp>`. A user-defined `BOOST_QVM_FORCE_INLINE` should expand to a value that is valid substitution of the `inline` keyword in function definitions, to indicate that the compiler must inline the function. Of course, actual inlining may or may not occur.

'''

[[BOOST_QVM_INLINE_TRIVIAL]]
==== `INLINE_TRIVIAL`
===== `BOOST_QVM_INLINE_TRIVIAL`

.#include <boost/qvm/inline.hpp>
.#include <boost/qvm/config.hpp>
[source,c++]
----
namespace boost { namespace qvm {
Expand All @@ -4923,7 +4923,7 @@ QVM uses `BOOST_QVM_INLINE_TRIVIAL` in definitions of functions that are not cri
==== `INLINE_CRITICAL`
===== `BOOST_QVM_INLINE_CRITICAL`

.#include <boost/qvm/inline.hpp>
.#include <boost/qvm/config.hpp>
[source,c++]
----
namespace boost { namespace qvm {
Expand All @@ -4943,7 +4943,7 @@ QVM uses `BOOST_QVM_INLINE_CRITICAL` in definitions of functions that are critic
==== `INLINE_OPERATIONS`
===== `BOOST_QVM_INLINE_OPERATIONS`

.#include <boost/qvm/inline.hpp>
.#include <boost/qvm/config.hpp>
[source,c++]
----
namespace boost { namespace qvm {
Expand All @@ -4963,7 +4963,7 @@ QVM uses `BOOST_QVM_INLINE_OPERATIONS` in definitions of functions that implemen
==== `INLINE_RECURSION`
===== `BOOST_QVM_INLINE_RECURSION`

.#include <boost/qvm/inline.hpp>
.#include <boost/qvm/config.hpp>
[source,c++]
----
namespace boost { namespace qvm {
Expand Down
Loading

0 comments on commit f7a3f6f

Please sign in to comment.