2 // Copyright (c) 2020 Fraunhofer Institute for Applied Information Technology (FIT)
3 // Network Research Group (NET)
4 // Schloss Birlinghoven, 53754 Sankt Augustin, GERMANY
5 // Contact: support@wiback.org
7 // This file is part of the SENF code tree.
8 // It is licensed under the 3-clause BSD License (aka New BSD License).
9 // See LICENSE.txt in the top level directory for details or visit
10 // https://opensource.org/licenses/BSD-3-Clause
15 \brief PacketInfo inline non-template implementation */
17 //#include "PacketInfo.ih"
21 #define prefix_ inline
22 ///////////////////////////////cci.p///////////////////////////////////////
24 prefix_ senf::PacketInfo::PacketInfo()
28 prefix_ senf::PacketInfo::PacketInfo(Packet const & packet)
29 : impl_(& packet.data().impl())
32 prefix_ bool senf::PacketInfo::boolean_test()
35 return static_cast<bool>(impl_);
38 template <class Annotation>
39 prefix_ Annotation & senf::PacketInfo::annotation()
41 return impl_->annotation<Annotation>();
44 prefix_ void senf::PacketInfo::clearAnnotations()
46 impl_->clearAnnotations();
49 prefix_ void senf::PacketInfo::dumpAnnotations(std::ostream & os)
51 impl_->dumpAnnotations(os);
54 prefix_ bool senf::PacketInfo::is_shared()
57 return impl_->refcount() > 1;
60 prefix_ bool senf::PacketInfo::usingExternalMemory()
63 return impl_->usingExternalMemory();
66 prefix_ void senf::PacketInfo::releaseExternalMemory()
69 impl_->releaseExternalMemory();
72 prefix_ void senf::PacketInfo::memDebug(std::ostream & os)
78 ///////////////////////////////cci.e///////////////////////////////////////
86 // c-file-style: "senf"
87 // indent-tabs-mode: nil
88 // ispell-local-dictionary: "american"
89 // compile-command: "scons -u test"