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 Target inline template implementation */
22 #define prefix_ inline
23 //-/////////////////////////////////////////////////////////////////////////////////////////////////
25 //-/////////////////////////////////////////////////////////////////////////////////////////////////
28 // senf::log::Target::route
33 prefix_ void senf::log::Target::route(action_t action, int index)
35 route<A1,mpl::nil,mpl::nil>(action, index);
38 template <class A1, class A2>
39 prefix_ void senf::log::Target::route(action_t action, int index)
41 route<A1,A2,mpl::nil>(action, index);
44 template <class A1, class A2, class A3>
45 prefix_ void senf::log::Target::route(action_t action, int index)
47 typedef detail::RouteParameters<A1,A2,A3> Params;
48 route( detail::InstanceP<typename Params::Stream, detail::StreamBase>::value(),
49 detail::InstanceP<typename Params::Area, detail::AreaBase>::value(),
55 prefix_ void senf::log::Target::unroute(action_t action)
57 unroute<A1,mpl::nil,mpl::nil>(action);
60 template <class A1, class A2>
61 prefix_ void senf::log::Target::unroute(action_t action)
63 unroute<A1,A2,mpl::nil>(action);
66 template <class A1, class A2, class A3>
67 prefix_ void senf::log::Target::unroute(action_t action)
69 typedef detail::RouteParameters<A1,A2,A3> Params;
70 unroute( detail::InstanceP<typename Params::Stream, detail::StreamBase>::value(),
71 detail::InstanceP<typename Params::Area, detail::AreaBase>::value(),
78 //-/////////////////////////////////////////////////////////////////////////////////////////////////
79 // namespace senf::log::detail members
81 template <class Stream, class Area, class Level>
82 prefix_ void senf::log::detail::write(std::string const & msg)
84 TargetRegistry::instance().write(Stream::instance(), Area::instance(), Level::value, msg);
87 //-/////////////////////////////////////////////////////////////////////////////////////////////////
95 // c-file-style: "senf"
96 // indent-tabs-mode: nil
97 // ispell-local-dictionary: "american"
98 // compile-command: "scons -u test"