diff --git a/docs/implementation_details.adoc b/docs/implementation_details.adoc index 7b870080..ed82ca20 100644 --- a/docs/implementation_details.adoc +++ b/docs/implementation_details.adoc @@ -51,13 +51,17 @@ Specifics: +-------------/ +---+ /-------------+ +---+---+ -| 0b0000`0001 |--->| 1 | 7 | +| 0b1111`1111 |--->| 0 | 8 | +-------------/ +---+---+ /-------------+ +---+---+---+ -| 0b1000`0011 |--->| 2 | 5 | 1 | +| 0b0000`0001 |--->| 0 | 1 | 7 | +-------------/ +---+---+---+ +/-------------+ +---+---+---+---+ +| 0b1000`0011 |--->| 0 | 2 | 5 | 1 | ++-------------/ +---+---+---+---+ + /-------------+ +---+---+---+---+ | 0b1100`1110 |--->| 1 | 3 | 2 | 2 | +-------------/ +---+---+---+---+ diff --git a/docs/message.adoc b/docs/message.adoc index 77d6574b..a8d44d27 100644 --- a/docs/message.adoc +++ b/docs/message.adoc @@ -190,7 +190,7 @@ callback: cib::service->handle(my_message{"my_field"_field = 0x81}); ---- -NOTE: Because message view types are implicitly constructable from an owning +NOTE: Because message view types are implicitly constructible from an owning message type, or from an appropriate `std::array`, it is possible to set up a service and handler that works with "raw data" in the form of a `std::array`, but whose callbacks and matchers take the appropriate message view types. @@ -438,7 +438,7 @@ as follows: - `and` together all the resulting bitsets (i.e. perform their set intersection). This gives us the callbacks to be called. Each callback still has an associated -mpmatcher that may include field constraints that were already handled by the +matcher that may include field constraints that were already handled by the indexing, but may also include constraints on fields that were not indexed. With a little xref:match.adoc#_boolean_algebra_with_matchers[Boolean matcher manipulation], we can remove the fields that were indexed by setting them to