cpp-common/bt2: add missing `noexcept` to static methods
[babeltrace.git] / src / cpp-common / bt2 / message.hpp
index 35dd2c5bb55100da5926d24d9a2f07a7a0b7584d..b74be2c50213c91ac2e55d4f2ebb1ab48b65a16b 100644 (file)
@@ -7,41 +7,41 @@
 #ifndef BABELTRACE_CPP_COMMON_BT2_MESSAGE_HPP
 #define BABELTRACE_CPP_COMMON_BT2_MESSAGE_HPP
 
-#include <type_traits>
 #include <cstdint>
-#include <functional>
+#include <type_traits>
+
 #include <babeltrace2/babeltrace.h>
 
 #include "common/assert.h"
-#include "common/common.h"
-#include "internal/borrowed-obj.hpp"
-#include "internal/shared-obj.hpp"
-#include "internal/utils.hpp"
+#include "cpp-common/bt2/clock-snapshot.hpp"
+#include "cpp-common/bt2/trace-ir.hpp"
 #include "cpp-common/optional.hpp"
-#include "cpp-common/string_view.hpp"
-#include "exc.hpp"
+
+#include "borrowed-object.hpp"
+#include "internal/utils.hpp"
+#include "shared-object.hpp"
 
 namespace bt2 {
 namespace internal {
 
 struct MessageRefFuncs final
 {
-    static void get(const bt_message * const libObjPtr)
+    static void get(const bt_message * const libObjPtr) noexcept
     {
         bt_message_get_ref(libObjPtr);
     }
 
-    static void put(const bt_message * const libObjPtr)
+    static void put(const bt_message * const libObjPtr) noexcept
     {
         bt_message_put_ref(libObjPtr);
     }
 };
 
-template <typename ObjT, typename LibObjT>
-using SharedMessage = internal::SharedObj<ObjT, LibObjT, internal::MessageRefFuncs>;
-
 } /* namespace internal */
 
+template <typename ObjT, typename LibObjT>
+using SharedMessage = SharedObject<ObjT, LibObjT, internal::MessageRefFuncs>;
+
 template <typename LibObjT>
 class CommonStreamBeginningMessage;
 
@@ -79,31 +79,31 @@ enum class MessageType
 };
 
 template <typename LibObjT>
-class CommonMessage : public internal::BorrowedObj<LibObjT>
+class CommonMessage : public BorrowedObject<LibObjT>
 {
 private:
-    using typename internal::BorrowedObj<LibObjT>::_ThisBorrowedObj;
+    using typename BorrowedObject<LibObjT>::_ThisBorrowedObject;
 
 protected:
-    using typename internal::BorrowedObj<LibObjT>::_LibObjPtr;
+    using typename BorrowedObject<LibObjT>::_LibObjPtr;
     using _ThisCommonMessage = CommonMessage<LibObjT>;
 
 public:
-    using Shared = internal::SharedMessage<CommonMessage<LibObjT>, LibObjT>;
+    using Shared = SharedMessage<CommonMessage<LibObjT>, LibObjT>;
 
-    explicit CommonMessage(const _LibObjPtr libObjPtr) noexcept : _ThisBorrowedObj {libObjPtr}
+    explicit CommonMessage(const _LibObjPtr libObjPtr) noexcept : _ThisBorrowedObject {libObjPtr}
     {
     }
 
     template <typename OtherLibObjT>
-    CommonMessage(const CommonMessage<OtherLibObjT> val) noexcept : _ThisBorrowedObj {val}
+    CommonMessage(const CommonMessage<OtherLibObjT> val) noexcept : _ThisBorrowedObject {val}
     {
     }
 
     template <typename OtherLibObjT>
     _ThisCommonMessage& operator=(const CommonMessage<OtherLibObjT> val) noexcept
     {
-        _ThisBorrowedObj::operator=(val);
+        _ThisBorrowedObject::operator=(val);
         return *this;
     }
 
@@ -231,7 +231,7 @@ private:
                                   CommonStream<bt_stream>>::type;
 
 public:
-    using Shared = internal::SharedMessage<CommonStreamBeginningMessage<LibObjT>, LibObjT>;
+    using Shared = SharedMessage<CommonStreamBeginningMessage<LibObjT>, LibObjT>;
 
     explicit CommonStreamBeginningMessage(const _LibObjPtr libObjPtr) noexcept :
         _ThisCommonMessage {libObjPtr}
@@ -349,7 +349,7 @@ private:
                                   CommonStream<bt_stream>>::type;
 
 public:
-    using Shared = internal::SharedMessage<CommonStreamEndMessage<LibObjT>, LibObjT>;
+    using Shared = SharedMessage<CommonStreamEndMessage<LibObjT>, LibObjT>;
 
     explicit CommonStreamEndMessage(const _LibObjPtr libObjPtr) noexcept :
         _ThisCommonMessage {libObjPtr}
@@ -466,7 +466,7 @@ private:
                                   CommonPacket<bt_packet>>::type;
 
 public:
-    using Shared = internal::SharedMessage<CommonPacketBeginningMessage<LibObjT>, LibObjT>;
+    using Shared = SharedMessage<CommonPacketBeginningMessage<LibObjT>, LibObjT>;
 
     explicit CommonPacketBeginningMessage(const _LibObjPtr libObjPtr) noexcept :
         _ThisCommonMessage {libObjPtr}
@@ -579,7 +579,7 @@ private:
                                   CommonPacket<bt_packet>>::type;
 
 public:
-    using Shared = internal::SharedMessage<CommonPacketEndMessage<LibObjT>, LibObjT>;
+    using Shared = SharedMessage<CommonPacketEndMessage<LibObjT>, LibObjT>;
 
     explicit CommonPacketEndMessage(const _LibObjPtr libObjPtr) noexcept :
         _ThisCommonMessage {libObjPtr}
@@ -691,7 +691,7 @@ private:
                                   CommonEvent<bt_event>>::type;
 
 public:
-    using Shared = internal::SharedMessage<CommonEventMessage<LibObjT>, LibObjT>;
+    using Shared = SharedMessage<CommonEventMessage<LibObjT>, LibObjT>;
 
     explicit CommonEventMessage(const _LibObjPtr libObjPtr) noexcept :
         _ThisCommonMessage {libObjPtr}
@@ -795,7 +795,7 @@ private:
                                   CommonStream<bt_stream>>::type;
 
 public:
-    using Shared = internal::SharedMessage<CommonDiscardedEventsMessage<LibObjT>, LibObjT>;
+    using Shared = SharedMessage<CommonDiscardedEventsMessage<LibObjT>, LibObjT>;
 
     explicit CommonDiscardedEventsMessage(const _LibObjPtr libObjPtr) noexcept :
         _ThisCommonMessage {libObjPtr}
@@ -929,7 +929,7 @@ private:
                                   CommonStream<bt_stream>>::type;
 
 public:
-    using Shared = internal::SharedMessage<CommonDiscardedPacketsMessage<LibObjT>, LibObjT>;
+    using Shared = SharedMessage<CommonDiscardedPacketsMessage<LibObjT>, LibObjT>;
 
     explicit CommonDiscardedPacketsMessage(const _LibObjPtr libObjPtr) noexcept :
         _ThisCommonMessage {libObjPtr}
@@ -1036,8 +1036,7 @@ private:
     using typename CommonMessage<LibObjT>::_ThisCommonMessage;
 
 public:
-    using Shared =
-        internal::SharedMessage<CommonMessageIteratorInactivityMessage<LibObjT>, LibObjT>;
+    using Shared = SharedMessage<CommonMessageIteratorInactivityMessage<LibObjT>, LibObjT>;
 
     explicit CommonMessageIteratorInactivityMessage(const _LibObjPtr libObjPtr) noexcept :
         _ThisCommonMessage {libObjPtr}
@@ -1142,6 +1141,13 @@ CommonDiscardedEventsMessage<LibObjT> CommonMessage<LibObjT>::asDiscardedEvents(
     return CommonDiscardedEventsMessage<LibObjT> {this->libObjPtr()};
 }
 
+template <typename LibObjT>
+CommonDiscardedPacketsMessage<LibObjT> CommonMessage<LibObjT>::asDiscardedPackets() const noexcept
+{
+    BT_ASSERT_DBG(this->isDiscardedPackets());
+    return CommonDiscardedPacketsMessage<LibObjT> {this->libObjPtr()};
+}
+
 template <typename LibObjT>
 CommonMessageIteratorInactivityMessage<LibObjT>
 CommonMessage<LibObjT>::asMessageIteratorInactivity() const noexcept
This page took 0.036583 seconds and 4 git commands to generate.