diff --git a/PPI/AnnotationRouter.hh b/PPI/AnnotationRouter.hh index a186fd5eb5766cc3e008ff3fcddfab304738173f..2d331a803d1e690b306359fd8511e1812c8af2da 100644 --- a/PPI/AnnotationRouter.hh +++ b/PPI/AnnotationRouter.hh @@ -100,7 +100,7 @@ namespace module { struct DuplicateKeyException : public senf::Exception { DuplicateKeyException(AnnotationType const & key) - : senf::Exception("Duplicate senf::ppi::module::AnnotationRouter routing key") + : senf::Exception("Duplicate senf::ppi::module::AnnotationRouter routing key ") { append(boost::lexical_cast<std::string>(key)); } }; private: diff --git a/Packets/PacketData.cci b/Packets/PacketData.cci index 9ea4cef8bfb859c67cc4ecf7c4205c0d0773cbf5..73719c55bee2becbdbeafc2356d7283958fe5b76 100644 --- a/Packets/PacketData.cci +++ b/Packets/PacketData.cci @@ -108,6 +108,17 @@ prefix_ void senf::PacketData::clear() impl().clear(this); } +prefix_ void senf::PacketData::reserve(size_type n) +{ + impl().reserve(n + size() - impl().size()); +} + +prefix_ senf::PacketData::size_type senf::PacketData::capacity() + const +{ + return impl().capacity() - (impl().size() - size()); +} + prefix_ bool senf::PacketData::valid() { return impl_; diff --git a/Packets/PacketData.hh b/Packets/PacketData.hh index 77602004a1cfe6be6e57510c9e619aa992b12145..05e5aa892b9d021110905d419ae9a836c6c50b8f 100644 --- a/Packets/PacketData.hh +++ b/Packets/PacketData.hh @@ -133,6 +133,9 @@ namespace senf { void resize(size_type n, byte v=0); + void reserve(size_type n); + size_type capacity() const; + ///@} protected: diff --git a/Packets/PacketImpl.cci b/Packets/PacketImpl.cci index 1e0cad02d909e03366fe05e46a3c2ccf3660846d..4bd2bf31d34b328a6cd37b87e4925b41fa7ef6a2 100644 --- a/Packets/PacketImpl.cci +++ b/Packets/PacketImpl.cci @@ -175,6 +175,17 @@ prefix_ void senf::detail::PacketImpl::erase(PacketData * self, iterator first, updateIterators(self,ix,-delta); } +prefix_ void senf::detail::PacketImpl::reserve(size_type n) +{ + data_.reserve(n); +} + +prefix_ senf::detail::PacketImpl::size_type senf::detail::PacketImpl::capacity() + const +{ + return data_.capacity(); +} + /////////////////////////////////////////////////////////////////////////// // senf::detail::PacketImpl::Guard diff --git a/Packets/PacketImpl.hh b/Packets/PacketImpl.hh index 1933949a3a9c06692e6544464c7c08e6db0c2b09..de52e40bb58b56b5d74a2fb1db910f2b9b22771a 100644 --- a/Packets/PacketImpl.hh +++ b/Packets/PacketImpl.hh @@ -183,6 +183,9 @@ namespace detail { void erase(PacketData * self, iterator first, iterator last); void clear(PacketData * self); + void reserve(size_type n); + size_type capacity() const; + // Annotations template <class Annotation> Annotation & annotation(); diff --git a/Utils/Daemon/Daemon.cc b/Utils/Daemon/Daemon.cc index 93bfba5428a85036f8d02e035121142f84181a03..6bd84ae4c785d4f434d998ce11b91198ac00fc22 100644 --- a/Utils/Daemon/Daemon.cc +++ b/Utils/Daemon/Daemon.cc @@ -89,7 +89,7 @@ prefix_ int senf::Daemon::argc() return argc_; } -prefix_ char ** senf::Daemon::argv() +prefix_ char const ** senf::Daemon::argv() { return argv_; } @@ -107,7 +107,7 @@ namespace { prefix_ void senf::Daemon::removeDaemonArgs() { - char ** last (std::remove_if(argv_+1, argv_+argc_, IsDaemonOpt())); + char const ** last (std::remove_if(argv_+1, argv_+argc_, IsDaemonOpt())); *last = 0; argc_ = last - argv_; } @@ -238,7 +238,7 @@ prefix_ void senf::Daemon::exit(unsigned code) throw DaemonExitException(code); } -prefix_ int senf::Daemon::start(int argc, char ** argv) +prefix_ int senf::Daemon::start(int argc, char const ** argv) { argc_ = argc; argv_ = argv; diff --git a/Utils/Daemon/Daemon.hh b/Utils/Daemon/Daemon.hh index 8747182f83cda8be099457463bdae93e780f44d8..e38a62c09b4ed6a5779df817e3344a2c65bb3707 100644 --- a/Utils/Daemon/Daemon.hh +++ b/Utils/Daemon/Daemon.hh @@ -157,7 +157,7 @@ namespace senf { successful startup. */ int argc(); ///< Access command line parameter count - char ** argv(); ///< Access command line parameters + char const ** argv(); ///< Access command line parameters void removeDaemonArgs(); ///< Remove the daemon arguments from argc()/argv() static void exit(unsigned code=0); ///< Terminate daemon with failure @@ -168,7 +168,7 @@ namespace senf { ///\} - int start(int argc, char ** argv); ///< Called from main() to launch daemon. + int start(int argc, char const ** argv); ///< Called from main() to launch daemon. /**< Normally not called directly but from the \ref SENF_DAEMON_MAIN macro. */ @@ -211,7 +211,7 @@ namespace senf { void installSighandlers(); int argc_; - char ** argv_; + char const ** argv_; bool daemonize_; std::string stdoutLog_; @@ -234,7 +234,7 @@ namespace senf { \ingroup process */ # define SENF_DAEMON_MAIN(klass) \ - int main(int argc, char ** argv) \ + int main(int argc, char const ** argv) \ { \ klass instance; \ return instance.start(argc, argv); \ diff --git a/Utils/Daemon/Daemon.test.cc b/Utils/Daemon/Daemon.test.cc index 6d991c41e2e96dff103c3e2821eaa56035335d95..584761f42ac09b5ffb41960544a051c65fb08c90 100644 --- a/Utils/Daemon/Daemon.test.cc +++ b/Utils/Daemon/Daemon.test.cc @@ -73,7 +73,7 @@ namespace { } }; - int myMain(int argc, char ** argv) + int myMain(int argc, char const ** argv) { MyDaemon instance; return instance.start(argc, argv);