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"