Skip to content

Commit

Permalink
Release v5.3
Browse files Browse the repository at this point in the history
  • Loading branch information
arobenko committed Jan 11, 2025
2 parents e7394d2 + c932a1f commit 87497f3
Show file tree
Hide file tree
Showing 189 changed files with 946 additions and 388 deletions.
7 changes: 6 additions & 1 deletion .github/workflows/actions_build.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
name: Github Actions Build

on: [push]
on:
push:
branches:
- '**'
tags-ignore:
- '**'

jobs:

Expand Down
110 changes: 45 additions & 65 deletions doxygen/page_prot_stack.dox

Large diffs are not rendered by default.

30 changes: 11 additions & 19 deletions doxygen/page_use_prot.dox
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@
/// {
///
/// class Message : public comms::Message
/// {
/// // comms::Field class with the same endian option.
/// // Can (and should) be provided as a base class to all the
/// // fields.
Expand Down Expand Up @@ -2232,11 +2233,10 @@
/// template <
/// typename TMessage, // common interface class defined by the application
/// typename TInputMessages = AllMessages<TMessage>, // Input messages that need to be recognised
/// typename TAllocationOptions = comms::option::app::EmptyOption, // Extra options for comms::protocol::MsgIdLayer
/// typename TPayloadOptions = comms::option::app::EmptyOption // Extra options for payload storage
/// typename TAllocationOptions = comms::option::app::EmptyOption // Extra options for comms::protocol::MsgIdLayer
/// >
/// struct ProtocolStack : public
/// MySyncPrefix<TMessage, TInputMessages, TAllocationOptions, TPayloadOptions>
/// MySyncPrefix<TMessage, TInputMessages, TAllocationOptions>
/// {
/// COMMS_PROTOCOL_LAYERS_ACCESS(...);
/// };
Expand All @@ -2259,16 +2259,12 @@
/// possible to modify such behaviour by using @ref comms::option::app::InPlaceAllocation
/// option. It will be explained in more details further below.
///
/// The fourth template parameter (@b TPayloadOptions) is irrelevant in
/// most cases. It has a meaning only when transport wrapping values are cached
/// for further analysis. It will also be explained in more details further below.
///
/// @b NOTE, that @b ProtocolStack definition is actually an alias to one
/// of the classes from @ref comms::protocol namespace. To get a detailed
/// information on available public API please reference to one of them, for
/// example @ref comms::protocol::SyncPrefixLayer.
///
/// It may also happen, that the extra options (@b TAllocationOptions and @b TPayloadOptions)
/// It may also happen, that the extra options (@b TAllocationOptions)
/// are defined inside the recommended @b DefaultOptions structure and be
/// passed to the layers definitions themselves. Such approach is undertaken by
/// the **commsdsl2comms** code generator application from the
Expand Down Expand Up @@ -2565,8 +2561,7 @@
/// The layer class that is responsible to read/write payload data
/// (see @ref comms::protocol::MsgDataLayer) uses @ref comms::field::ArrayList
/// to define a field that will store the payload when "caching" operations are
/// performed. That's where the fourth template parameter (@b TPayloadOptions)
/// to @b ProtocolStack definition comes in play.
/// performed.
/// In case the the input / output buffer outlives the @b AllFields
/// object, consider passing @ref comms::option::app::OrigDataView option as the
/// fourth template parameter to @b ProtocolStack definition, which will pass it to
Expand All @@ -2588,11 +2583,10 @@
/// template <
/// typename TMessage, // common interface class defined by the application
/// typename TInputMessages = AllMessages<TMessage>, // Input messages that need to be recognised
/// typename TAllocationOptions = comms::option::app::EmptyOption, // Extra options for MsgIdLayer
/// typename TPayloadOptions = comms::option::app::EmptyOption // Extra options for payload storage
/// typename TAllocationOptions = comms::option::app::EmptyOption // Extra options for MsgIdLayer
/// >
/// struct ProtocolStack : public
/// MySyncPrefix<TMessage, TInputMessages, TAllocationOptions, TPayloadOptions>
/// MySyncPrefix<TMessage, TInputMessages, TAllocationOptions>
/// {
/// COMMS_PROTOCOL_LAYERS_ACCESS(payload, id, size, checksum, sync);
/// };
Expand All @@ -2606,11 +2600,10 @@
/// template <
/// typename TMessage, // common interface class defined by the application
/// typename TInputMessages = AllMessages<TMessage>, // Input messages that need to be recognised
/// typename TAllocationOptions = comms::option::app::EmptyOption, // Extra options for MsgIdLayer
/// typename TPayloadOptions = comms::option::app::EmptyOption // Extra options for payload storage
/// typename TAllocationOptions = comms::option::app::EmptyOption // Extra options for MsgIdLayer
/// >
/// struct ProtocolStack : public
/// MySyncPrefix<TMessage, TInputMessages, TAllocationOptions, TPayloadOptions>
/// MySyncPrefix<TMessage, TInputMessages, TAllocationOptions>
/// {
/// // Access to PAYLOAD layer
/// decltype(auto) layer_payload();
Expand Down Expand Up @@ -3131,11 +3124,10 @@
/// template <
/// typename TMessage, // common interface class defined by the application
/// typename TInputMessages = AllMessages<TMessage>, // Input messages that need to be recognised
/// typename TAllocationOptions = comms::option::app::EmptyOption, // Extra options for MsgIdLayer
/// typename TPayloadOptions = comms::option::app::EmptyOption // Extra options for payload storage
/// typename TAllocationOptions = comms::option::app::EmptyOption // Extra options for MsgIdLayer
/// >
/// struct ProtocolStack : public
/// MySizePrefix<TMessage, TInputMessages, TAllocationOptions, TPayloadOptions>
/// MySizePrefix<TMessage, TInputMessages, TAllocationOptions>
/// {
/// COMMS_PROTOCOL_LAYERS_ACCESS(payload, version, id, size);
/// };
Expand Down
2 changes: 1 addition & 1 deletion include/comms/Assert.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2014 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2014 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/CompileControl.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2015 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2015 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/EmptyHandler.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2014 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2014 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/ErrorStatus.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2014 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2014 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
9 changes: 8 additions & 1 deletion include/comms/Field.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2014 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2014 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down Expand Up @@ -111,6 +111,13 @@ class Field : public details::FieldBase<TOptions...>
return false;
}

/// @brief Check of whether the field class defines @b name() function
/// @return Always @b false
static constexpr bool hasName()
{
return false;
}

protected:
/// @brief Write data into the output buffer.
/// @details Use this function to write data to the the buffer
Expand Down
2 changes: 1 addition & 1 deletion include/comms/GenericHandler.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2014 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2014 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/GenericMessage.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2017 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2017 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/Message.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2014 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2014 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/MessageBase.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2014 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2014 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/MsgDispatcher.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2019 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/MsgFactory.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2015 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2015 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/MsgFactoryCreateFailureReason.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2022 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/cast.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2019 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
5 changes: 3 additions & 2 deletions include/comms/comms.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2014 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2014 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down Expand Up @@ -28,6 +28,7 @@
#include "comms/MsgDispatcher.h"
#include "comms/GenericMessage.h"

#include "comms/util/detect.h"
#include "comms/util/assign.h"
#include "comms/util/construct.h"
#include "comms/util/detect.h"
#include "comms/util/type_traits.h"
2 changes: 1 addition & 1 deletion include/comms/details/DispatchMsgHelperType.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2020 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2020 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/DispatchMsgIdRetrieveHelper.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2019 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/DispatchMsgLinearSwitchHelper.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2019 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/DispatchMsgPolymorphicHelper.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2019 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/DispatchMsgStaticBinSearchHelper.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2019 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/FieldBase.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2015 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2015 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/FieldCastHelper.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2015 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2015 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/MessageIdTypeRetriever.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2019 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/MessageImplBases.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2015 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2015 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/MessageImplBuilder.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2015 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2015 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/MessageImplOptionsParser.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2015 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2015 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/MessageInterfaceBases.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2015 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2015 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/MessageInterfaceBuilder.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2015 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2015 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/MessageInterfaceOptionsParser.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2015 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2015 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/MsgDispatcherOptionsParser.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2019 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/MsgFactoryBase.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2017 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2017 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/MsgFactoryOptionsParser.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2017 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2017 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/ReadIteratorHelper.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2019 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/ValueAssignWrapper.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2019 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/WriteIteratorHelper.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2019 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/base_detection.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2017 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2017 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/bits_access.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2016 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2016 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/detect.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2017 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2017 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
2 changes: 1 addition & 1 deletion include/comms/details/dispatch_impl.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved.
// Copyright 2019 - 2025 (C). Alex Robenko. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
Expand Down
Loading

0 comments on commit 87497f3

Please sign in to comment.