aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Heinecke <[email protected]>2016-04-11 13:50:17 +0000
committerAndre Heinecke <[email protected]>2016-04-11 15:00:59 +0000
commit691950e18cf08a3f9bbc2004501834cd47bea579 (patch)
tree25253f07fa380bb00b89e5a8f0461f90e6e40379
parentAdd pthread in gpgmepp config (diff)
downloadgpgme-691950e18cf08a3f9bbc2004501834cd47bea579.tar.gz
gpgme-691950e18cf08a3f9bbc2004501834cd47bea579.zip
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.
-rw-r--r--lang/cpp/src/configuration.cpp18
-rw-r--r--lang/cpp/src/context.cpp13
-rw-r--r--lang/cpp/src/scdgetinfoassuantransaction.cpp16
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 <gpgme.h>
-#include <boost/foreach.hpp>
-
#include <iterator>
#include <algorithm>
#include <ostream>
@@ -37,14 +35,14 @@
using namespace GpgME;
using namespace GpgME::Configuration;
-typedef std::shared_ptr< boost::remove_pointer<gpgme_conf_opt_t>::type > shared_gpgme_conf_opt_t;
-typedef std::weak_ptr< boost::remove_pointer<gpgme_conf_opt_t>::type > weak_gpgme_conf_opt_t;
+typedef std::shared_ptr< std::remove_pointer<gpgme_conf_opt_t>::type > shared_gpgme_conf_opt_t;
+typedef std::weak_ptr< std::remove_pointer<gpgme_conf_opt_t>::type > weak_gpgme_conf_opt_t;
-typedef std::shared_ptr< boost::remove_pointer<gpgme_conf_arg_t>::type > shared_gpgme_conf_arg_t;
-typedef std::weak_ptr< boost::remove_pointer<gpgme_conf_arg_t>::type > weak_gpgme_conf_arg_t;
+typedef std::shared_ptr< std::remove_pointer<gpgme_conf_arg_t>::type > shared_gpgme_conf_arg_t;
+typedef std::weak_ptr< std::remove_pointer<gpgme_conf_arg_t>::type > weak_gpgme_conf_arg_t;
-typedef std::shared_ptr< boost::remove_pointer<gpgme_ctx_t>::type > shared_gpgme_ctx_t;
-typedef std::weak_ptr< boost::remove_pointer<gpgme_ctx_t>::type > weak_gpgme_ctx_t;
+typedef std::shared_ptr< std::remove_pointer<gpgme_ctx_t>::type > shared_gpgme_ctx_t;
+typedef std::weak_ptr< std::remove_pointer<gpgme_ctx_t>::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 <gpgme.h>
-#include <boost/scoped_array.hpp>
-
#include <istream>
#ifndef NDEBUG
#include <iostream>
@@ -584,7 +582,7 @@ ImportResult Context::importKeys(const std::vector<Key> &kk)
d->lasterr = make_error(GPG_ERR_NOT_IMPLEMENTED);
bool shouldHaveResult = false;
- const boost::scoped_array<gpgme_key_t> 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<Key>::const_iterator it = kk.begin(), end = kk.end() ; it != end ; ++it) {
if (it->impl()) {
@@ -592,7 +590,7 @@ ImportResult Context::importKeys(const std::vector<Key> &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<Key> &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<Key> &kk)
{
d->lastop = Private::Import;
- const boost::scoped_array<gpgme_key_t> 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<Key>::const_iterator it = kk.begin(), end = kk.end() ; it != end ; ++it) {
if (it->impl()) {
@@ -648,7 +647,9 @@ Error Context::startKeyImport(const std::vector<Key> &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 <boost/algorithm/string/split.hpp>
-#include <boost/algorithm/string/classification.hpp>
-#include <boost/static_assert.hpp>
-
#include <sstream>
+#include <assert.h>
using namespace GpgME;
-using namespace boost;
ScdGetInfoAssuanTransaction::ScdGetInfoAssuanTransaction(InfoItem item)
: AssuanTransaction(),
@@ -48,7 +44,12 @@ ScdGetInfoAssuanTransaction::~ScdGetInfoAssuanTransaction() {}
static std::vector<std::string> to_reader_list(const std::string &s)
{
std::vector<std::string> 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<std::string> 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
{