From 691950e18cf08a3f9bbc2004501834cd47bea579 Mon Sep 17 00:00:00 2001 From: Andre Heinecke Date: Mon, 11 Apr 2016 15:50:17 +0200 Subject: [PATCH] Cpp: Remove last usages of boost * lang/cpp/src/configuration.cpp: Use std::remove_pointer. (Configuration::operator<<): std::for_each. * lang/cpp/src/context.cpp: Delete manually instead of scoped ptr. * lang/cpp/src/scdgetinfoassuantransaction.cpp: Use static_assert. (to_reader_list): Tokenize with getline. --- lang/cpp/src/configuration.cpp | 18 ++++++++---------- lang/cpp/src/context.cpp | 13 +++++++------ lang/cpp/src/scdgetinfoassuantransaction.cpp | 16 +++++++++------- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/lang/cpp/src/configuration.cpp b/lang/cpp/src/configuration.cpp index 4bd01867..7ef28836 100644 --- a/lang/cpp/src/configuration.cpp +++ b/lang/cpp/src/configuration.cpp @@ -26,8 +26,6 @@ #include -#include - #include #include #include @@ -37,14 +35,14 @@ using namespace GpgME; using namespace GpgME::Configuration; -typedef std::shared_ptr< boost::remove_pointer::type > shared_gpgme_conf_opt_t; -typedef std::weak_ptr< boost::remove_pointer::type > weak_gpgme_conf_opt_t; +typedef std::shared_ptr< std::remove_pointer::type > shared_gpgme_conf_opt_t; +typedef std::weak_ptr< std::remove_pointer::type > weak_gpgme_conf_opt_t; -typedef std::shared_ptr< boost::remove_pointer::type > shared_gpgme_conf_arg_t; -typedef std::weak_ptr< boost::remove_pointer::type > weak_gpgme_conf_arg_t; +typedef std::shared_ptr< std::remove_pointer::type > shared_gpgme_conf_arg_t; +typedef std::weak_ptr< std::remove_pointer::type > weak_gpgme_conf_arg_t; -typedef std::shared_ptr< boost::remove_pointer::type > shared_gpgme_ctx_t; -typedef std::weak_ptr< boost::remove_pointer::type > weak_gpgme_ctx_t; +typedef std::shared_ptr< std::remove_pointer::type > shared_gpgme_ctx_t; +typedef std::weak_ptr< std::remove_pointer::type > weak_gpgme_ctx_t; namespace { @@ -898,14 +896,14 @@ std::ostream &Configuration::operator<<(std::ostream &os, const Argument &a) os << v.size() << ':'; // can't use std::copy + ostream_iterator here, since we need the protect() call bool first = true; - BOOST_FOREACH(const char *s, v) { + std::for_each(v.begin(), v.end(), [&first, &os](const char *s) { if (first) { first = false; } else { os << ','; } os << protect(s); - } + }); } else { os << protect(a.stringValue()); } diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp index 398836c9..93244b41 100644 --- a/lang/cpp/src/context.cpp +++ b/lang/cpp/src/context.cpp @@ -45,8 +45,6 @@ #include -#include - #include #ifndef NDEBUG #include @@ -584,7 +582,7 @@ ImportResult Context::importKeys(const std::vector &kk) d->lasterr = make_error(GPG_ERR_NOT_IMPLEMENTED); bool shouldHaveResult = false; - const boost::scoped_array keys(new gpgme_key_t[ kk.size() + 1 ]); + gpgme_key_t * const keys = new gpgme_key_t[ kk.size() + 1 ]; gpgme_key_t *keys_it = &keys[0]; for (std::vector::const_iterator it = kk.begin(), end = kk.end() ; it != end ; ++it) { if (it->impl()) { @@ -592,7 +590,7 @@ ImportResult Context::importKeys(const std::vector &kk) } } *keys_it++ = 0; - d->lasterr = gpgme_op_import_keys(d->ctx, keys.get()); + d->lasterr = gpgme_op_import_keys(d->ctx, keys); shouldHaveResult = true; if ((gpgme_err_code(d->lasterr) == GPG_ERR_NOT_IMPLEMENTED || gpgme_err_code(d->lasterr) == GPG_ERR_NOT_SUPPORTED) && @@ -623,6 +621,7 @@ ImportResult Context::importKeys(const std::vector &kk) shouldHaveResult = true; } } + delete[] keys; if (shouldHaveResult) { return ImportResult(d->ctx, Error(d->lasterr)); } else { @@ -640,7 +639,7 @@ Error Context::startKeyImport(const Data &data) Error Context::startKeyImport(const std::vector &kk) { d->lastop = Private::Import; - const boost::scoped_array keys(new gpgme_key_t[ kk.size() + 1 ]); + gpgme_key_t * const keys = new gpgme_key_t[ kk.size() + 1 ]; gpgme_key_t *keys_it = &keys[0]; for (std::vector::const_iterator it = kk.begin(), end = kk.end() ; it != end ; ++it) { if (it->impl()) { @@ -648,7 +647,9 @@ Error Context::startKeyImport(const std::vector &kk) } } *keys_it++ = 0; - return Error(d->lasterr = gpgme_op_import_keys_start(d->ctx, keys.get())); + Error err = Error(d->lasterr = gpgme_op_import_keys_start(d->ctx, keys)); + delete[] keys; + return err; } ImportResult Context::importResult() const diff --git a/lang/cpp/src/scdgetinfoassuantransaction.cpp b/lang/cpp/src/scdgetinfoassuantransaction.cpp index a07ed96b..073d7724 100644 --- a/lang/cpp/src/scdgetinfoassuantransaction.cpp +++ b/lang/cpp/src/scdgetinfoassuantransaction.cpp @@ -25,14 +25,10 @@ #include "data.h" #include "util.h" -#include -#include -#include - #include +#include using namespace GpgME; -using namespace boost; ScdGetInfoAssuanTransaction::ScdGetInfoAssuanTransaction(InfoItem item) : AssuanTransaction(), @@ -48,7 +44,12 @@ ScdGetInfoAssuanTransaction::~ScdGetInfoAssuanTransaction() {} static std::vector to_reader_list(const std::string &s) { std::vector result; - return split(result, s, is_any_of("\n"), token_compress_on); + std::stringstream ss(s); + std::string tok; + while (std::getline(ss, tok, '\n')) { + result.push_back(tok); + } + return result; } static std::vector to_app_list(const std::string &s) @@ -119,7 +120,8 @@ static const char *const scd_getinfo_tokens[] = { "deny_admin", "app_list", }; -BOOST_STATIC_ASSERT((sizeof scd_getinfo_tokens / sizeof * scd_getinfo_tokens == ScdGetInfoAssuanTransaction::LastInfoItem)); +static_assert((sizeof scd_getinfo_tokens / sizeof * scd_getinfo_tokens == ScdGetInfoAssuanTransaction::LastInfoItem), + "getinfo_tokens size mismatch"); void ScdGetInfoAssuanTransaction::makeCommand() const {