summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/iroutablefactory.h7
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/errorpolicy.h3
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/externpolicy.h3
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/loadbalancerpolicy.h4
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/localservicepolicy.h3
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/roundrobinpolicy.h3
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/searchcolumnpolicy.h3
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/storagepolicy.h6
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/subsetservicepolicy.h3
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routablerepository.h4
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routingpolicyrepository.h5
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/systemstate/systemstate.h5
-rw-r--r--fastos/src/vespa/fastos/thread.h6
-rw-r--r--fnet/src/vespa/fnet/task.h5
-rw-r--r--messagebus/src/vespa/messagebus/callstack.h5
-rw-r--r--messagebus/src/vespa/messagebus/destinationsession.h5
-rw-r--r--messagebus/src/vespa/messagebus/imessagehandler.h4
-rw-r--r--messagebus/src/vespa/messagebus/intermediatesession.h6
-rw-r--r--messagebus/src/vespa/messagebus/iprotocol.h4
-rw-r--r--messagebus/src/vespa/messagebus/ireplyhandler.h4
-rw-r--r--messagebus/src/vespa/messagebus/messagebus.h1
-rw-r--r--messagebus/src/vespa/messagebus/messenger.h10
-rw-r--r--messagebus/src/vespa/messagebus/network/inetwork.h4
-rw-r--r--messagebus/src/vespa/messagebus/network/oosmanager.h3
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcnetwork.h3
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcsendadapter.h7
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcsendv1.cpp9
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcservice.h5
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcservicepool.h5
-rw-r--r--messagebus/src/vespa/messagebus/network/rpctargetpool.h5
-rw-r--r--messagebus/src/vespa/messagebus/protocolrepository.h6
-rw-r--r--messagebus/src/vespa/messagebus/replygate.h4
-rw-r--r--messagebus/src/vespa/messagebus/routable.h5
-rw-r--r--messagebus/src/vespa/messagebus/routing/iroutingpolicy.h11
-rw-r--r--messagebus/src/vespa/messagebus/routing/resender.h5
-rw-r--r--messagebus/src/vespa/messagebus/routing/routingtable.h5
-rw-r--r--messagebus/src/vespa/messagebus/rpcmessagebus.h5
-rw-r--r--messagebus/src/vespa/messagebus/sendproxy.h4
-rw-r--r--messagebus/src/vespa/messagebus/sequencer.h4
-rw-r--r--messagebus/src/vespa/messagebus/sourcesession.h3
-rw-r--r--messagebus/src/vespa/messagebus/testlib/custompolicy.h3
-rw-r--r--messagebus/src/vespa/messagebus/testlib/simpleprotocol.h3
-rw-r--r--messagebus/src/vespa/messagebus/testlib/testserver.h5
-rw-r--r--metrics/src/vespa/metrics/metricmanager.h1
-rw-r--r--metrics/src/vespa/metrics/metricset.h1
-rw-r--r--metrics/src/vespa/metrics/metricsnapshot.h1
-rw-r--r--persistence/src/vespa/persistence/spi/bucketinfo.h1
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp9
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/attributemanager.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/feedtoken.h10
-rw-r--r--searchcore/src/vespa/searchcore/proton/docsummary/docsumcontext.h3
-rw-r--r--searchcore/src/vespa/searchcore/proton/docsummary/isummarymanager.h7
-rw-r--r--searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.h1
-rw-r--r--searchcore/src/vespa/searchcore/proton/flushengine/flush_all_strategy.h7
-rw-r--r--searchcore/src/vespa/searchcore/proton/flushengine/flushcontext.h5
-rw-r--r--searchcore/src/vespa/searchcore/proton/flushengine/flushengine.h3
-rw-r--r--searchcore/src/vespa/searchcore/proton/flushengine/flushtask.h9
-rw-r--r--searchcore/src/vespa/searchcore/proton/flushengine/iflushhandler.h20
-rw-r--r--searchcore/src/vespa/searchcore/proton/flushengine/iflushstrategy.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/matchengine/imatchhandler.h5
-rw-r--r--searchcore/src/vespa/searchcore/proton/matchengine/matchengine.h5
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/isearchcontext.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h7
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/emptysearchview.cpp5
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/emptysearchview.h3
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp3
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/feedhandler.h35
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/flushhandlerproxy.h21
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/ifeedview.h7
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/matchhandlerproxy.h3
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/matchview.cpp3
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/matchview.h51
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/memoryflush.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/persistencehandlerproxy.h3
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/searchcontext.h6
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/searchhandlerproxy.h3
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/searchview.cpp3
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/searchview.h3
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/simpleflush.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/transactionlogmanagerbase.h5
-rw-r--r--searchcore/src/vespa/searchcore/proton/summaryengine/isearchhandler.h5
-rw-r--r--searchcore/src/vespa/searchcore/proton/summaryengine/summaryengine.h5
-rw-r--r--searchlib/src/vespa/searchlib/attribute/iattributemanager.h4
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/nearsearch.h1
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h4
-rw-r--r--storage/src/vespa/storage/common/visitorfactory.h1
87 files changed, 230 insertions, 266 deletions
diff --git a/documentapi/src/vespa/documentapi/messagebus/iroutablefactory.h b/documentapi/src/vespa/documentapi/messagebus/iroutablefactory.h
index 0ca3bc10531..5f6e39c2a6d 100644
--- a/documentapi/src/vespa/documentapi/messagebus/iroutablefactory.h
+++ b/documentapi/src/vespa/documentapi/messagebus/iroutablefactory.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/shared_ptr.hpp>
#include <vespa/document/util/bytebuffer.h>
#include <vespa/messagebus/routable.h>
#include <vespa/vespalib/component/version.h>
@@ -22,7 +21,9 @@ class LoadTypeSet;
* factory across multiple routable types. To share serialization logic between factory use a common
* superclass or composition with a common serialization utility.
*/
-class IRoutableFactory : public boost::noncopyable {
+class IRoutableFactory {
+protected:
+ IRoutableFactory() = default;
public:
/**
* Convenience typedefs.
@@ -30,6 +31,8 @@ public:
typedef std::unique_ptr<IRoutableFactory> UP;
typedef std::shared_ptr<IRoutableFactory> SP;
+ IRoutableFactory(const IRoutableFactory &) = delete;
+ IRoutableFactory & operator = (const IRoutableFactory &) = delete;
/**
* Virtual destructor required for inheritance.
*/
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/errorpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/errorpolicy.h
index 2790adcc774..75c697331d3 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/errorpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/errorpolicy.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/messagebus/routing/iroutingpolicy.h>
namespace documentapi {
@@ -11,7 +10,7 @@ namespace documentapi {
* #select(RoutingContext)} is invoked. This is useful for returning error states to the client instead of
* those auto-generated by mbus when a routing policy can not be created.
*/
-class ErrorPolicy : public boost::noncopyable, public mbus::IRoutingPolicy {
+class ErrorPolicy : public mbus::IRoutingPolicy {
private:
string _msg;
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/externpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/externpolicy.h
index 83b9a64b79e..f4a9157f8e3 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/externpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/externpolicy.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/fnet/frt/frt.h>
#include <vespa/messagebus/routing/hop.h>
#include <vespa/messagebus/routing/iroutingpolicy.h>
@@ -16,7 +15,7 @@ namespace documentapi {
* This policy implements the necessary logic to communicate with an external Vespa application and resolve its list of
* recipients using that other application's slobrok servers.
*/
-class ExternPolicy : public boost::noncopyable, public mbus::IRoutingPolicy {
+class ExternPolicy : public mbus::IRoutingPolicy {
private:
vespalib::Lock _lock;
FRT_Supervisor _orb;
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/loadbalancerpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/loadbalancerpolicy.h
index 8d0eca83ac9..b782abbef27 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/loadbalancerpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/loadbalancerpolicy.h
@@ -1,14 +1,12 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/noncopyable.hpp>
#include <vespa/documentapi/messagebus/policies/loadbalancer.h>
#include <vespa/documentapi/messagebus/policies/externslobrokpolicy.h>
namespace documentapi {
-class LoadBalancerPolicy : public boost::noncopyable,
- public ExternSlobrokPolicy
+class LoadBalancerPolicy : public ExternSlobrokPolicy
{
public:
LoadBalancerPolicy(const string& param);
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/localservicepolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/localservicepolicy.h
index 85c26794b97..ccdc67c9291 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/localservicepolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/localservicepolicy.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/messagebus/routing/hop.h>
#include <vespa/messagebus/routing/iroutingpolicy.h>
#include <string>
@@ -16,7 +15,7 @@ namespace documentapi {
* @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a>
* @version $Id$
*/
-class LocalServicePolicy : public boost::noncopyable, public mbus::IRoutingPolicy {
+class LocalServicePolicy : public mbus::IRoutingPolicy {
private:
struct CacheEntry {
uint32_t _offset;
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/roundrobinpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/roundrobinpolicy.h
index e65763a114d..7bd839f762c 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/roundrobinpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/roundrobinpolicy.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/messagebus/routing/hop.h>
#include <vespa/messagebus/routing/iroutingpolicy.h>
#include <string>
@@ -16,7 +15,7 @@ namespace documentapi {
* @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a>
* @version $Id$
*/
-class RoundRobinPolicy : public boost::noncopyable, public mbus::IRoutingPolicy {
+class RoundRobinPolicy : public mbus::IRoutingPolicy {
private:
struct CacheEntry {
uint32_t _offset;
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/searchcolumnpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/searchcolumnpolicy.h
index a7420acf8ef..2b7e03dc014 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/searchcolumnpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/searchcolumnpolicy.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/document/bucket/bucketidfactory.h>
#include <vespa/messagebus/routing/iroutingpolicy.h>
#include <vespa/vdslib/bucketdistribution.h>
@@ -15,7 +14,7 @@ namespace documentapi {
* @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a>
* @version $Id$
*/
-class SearchColumnPolicy : public boost::noncopyable, public mbus::IRoutingPolicy {
+class SearchColumnPolicy : public mbus::IRoutingPolicy {
private:
typedef std::map<uint32_t, vdslib::BucketDistribution> DistributionCache;
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/storagepolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/storagepolicy.h
index 096dec568ec..1f80b36c109 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/storagepolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/storagepolicy.h
@@ -10,8 +10,7 @@
namespace documentapi {
-class StoragePolicy : public boost::noncopyable,
- public ExternSlobrokPolicy,
+class StoragePolicy : public ExternSlobrokPolicy,
public config::IFetcherCallback<vespa::config::content::StorDistributionConfig>
{
private:
@@ -41,8 +40,7 @@ public:
* @return a pointer to the system state registered with this policy. If
* we haven't received a system state yet, returns NULL.
*/
- const storage::lib::ClusterState* getSystemState() const
- { return _state.get(); }
+ const storage::lib::ClusterState* getSystemState() const { return _state.get(); }
void configure(std::unique_ptr<vespa::config::content::StorDistributionConfig> config);
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/subsetservicepolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/subsetservicepolicy.h
index 367aae183ff..5103904df65 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/subsetservicepolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/subsetservicepolicy.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/messagebus/routing/hop.h>
#include <vespa/messagebus/routing/iroutingpolicy.h>
#include <string>
@@ -15,7 +14,7 @@ namespace documentapi {
* @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a>
* @version $Id$
*/
-class SubsetServicePolicy : public boost::noncopyable, public mbus::IRoutingPolicy {
+class SubsetServicePolicy : public mbus::IRoutingPolicy {
private:
struct CacheEntry {
uint32_t _offset;
diff --git a/documentapi/src/vespa/documentapi/messagebus/routablerepository.h b/documentapi/src/vespa/documentapi/messagebus/routablerepository.h
index e39eab89507..977a8b5268a 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routablerepository.h
+++ b/documentapi/src/vespa/documentapi/messagebus/routablerepository.h
@@ -17,7 +17,7 @@ class LoadTypeSet;
* factory cache to reduce the latency of matching version specifications to actual versions when resolving
* factories.
*/
-class RoutableRepository : public boost::noncopyable {
+class RoutableRepository {
private:
/**
* Internal helper class that implements a map from {@link VersionSpecification} to {@link
@@ -43,6 +43,8 @@ private:
const LoadTypeSet& _loadTypes;
public:
+ RoutableRepository(const RoutableRepository &) = delete;
+ RoutableRepository & operator = (const RoutableRepository &) = delete;
/**
* Constructs a new routable repository.
*/
diff --git a/documentapi/src/vespa/documentapi/messagebus/routingpolicyrepository.h b/documentapi/src/vespa/documentapi/messagebus/routingpolicyrepository.h
index cd19d5f0676..c0dab2d710b 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routingpolicyrepository.h
+++ b/documentapi/src/vespa/documentapi/messagebus/routingpolicyrepository.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <map>
#include <string>
#include <vespa/vespalib/util/sync.h>
@@ -9,7 +8,7 @@
namespace documentapi {
-class RoutingPolicyRepository : public boost::noncopyable {
+class RoutingPolicyRepository {
private:
typedef std::map<string, IRoutingPolicyFactory::SP> FactoryMap;
@@ -17,6 +16,8 @@ private:
FactoryMap _factories;
public:
+ RoutingPolicyRepository(const RoutingPolicyRepository &) = delete;
+ RoutingPolicyRepository & operator = (const RoutingPolicyRepository &) = delete;
/**
* Constructs a new routing policy repository.
*/
diff --git a/documentapi/src/vespa/documentapi/messagebus/systemstate/systemstate.h b/documentapi/src/vespa/documentapi/messagebus/systemstate/systemstate.h
index 544a1b6716e..8254dc29c30 100644
--- a/documentapi/src/vespa/documentapi/messagebus/systemstate/systemstate.h
+++ b/documentapi/src/vespa/documentapi/messagebus/systemstate/systemstate.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <string>
#include <vespa/vespalib/util/sync.h>
#include "nodestate.h"
@@ -13,7 +12,7 @@ namespace documentapi {
* string. The naming of this class is intended to capture the fact that this annotated service tree actually
* contains the state of each service in the system.
*/
-class SystemState : public boost::noncopyable {
+class SystemState {
private:
static vespalib::Lock _parseLock;
@@ -31,6 +30,8 @@ private:
SystemState(NodeState::UP root);
public:
+ SystemState(const SystemState &) = delete;
+ SystemState & operator = (const SystemState &) = delete;
/**
* Convenience typedefs.
*/
diff --git a/fastos/src/vespa/fastos/thread.h b/fastos/src/vespa/fastos/thread.h
index 6eba3470176..31a5fce32fa 100644
--- a/fastos/src/vespa/fastos/thread.h
+++ b/fastos/src/vespa/fastos/thread.h
@@ -461,15 +461,13 @@ public:
*/
class FastOS_Runnable
{
-private:
- FastOS_Runnable(const FastOS_Runnable&);
- FastOS_Runnable& operator=(const FastOS_Runnable&);
-
protected:
friend class FastOS_ThreadInterface;
FastOS_ThreadInterface *_thread;
public:
+ FastOS_Runnable(const FastOS_Runnable&) = delete;
+ FastOS_Runnable& operator=(const FastOS_Runnable&) = delete;
FastOS_Runnable();
virtual ~FastOS_Runnable();
diff --git a/fnet/src/vespa/fnet/task.h b/fnet/src/vespa/fnet/task.h
index b482a936e55..321c94d6770 100644
--- a/fnet/src/vespa/fnet/task.h
+++ b/fnet/src/vespa/fnet/task.h
@@ -20,10 +20,9 @@ private:
FNET_Task *_task_prev;
bool _killed;
- FNET_Task(const FNET_Task &);
- FNET_Task &operator=(const FNET_Task &);
-
public:
+ FNET_Task(const FNET_Task &) = delete;
+ FNET_Task &operator=(const FNET_Task &) = delete;
/**
* Construct a task that may be scheduled by the given scheduler.
diff --git a/messagebus/src/vespa/messagebus/callstack.h b/messagebus/src/vespa/messagebus/callstack.h
index 80e673ee550..d82c27966b9 100644
--- a/messagebus/src/vespa/messagebus/callstack.h
+++ b/messagebus/src/vespa/messagebus/callstack.h
@@ -2,7 +2,6 @@
#pragma once
-#include <boost/utility.hpp>
#include <vector>
#include "context.h"
@@ -21,7 +20,7 @@ class Reply;
* copied when copying a Routable, as it is not part of the object
* value. This class is intended for internal messagebus use only.
**/
-class CallStack : public boost::noncopyable
+class CallStack
{
private:
struct Frame {
@@ -35,6 +34,8 @@ private:
Stack _stack;
public:
+ CallStack(const CallStack &) = delete;
+ CallStack & operator = (const CallStack &) = delete;
/**
* Create a new empty CallStack.
**/
diff --git a/messagebus/src/vespa/messagebus/destinationsession.h b/messagebus/src/vespa/messagebus/destinationsession.h
index f381a5cd7b7..c69a1a71084 100644
--- a/messagebus/src/vespa/messagebus/destinationsession.h
+++ b/messagebus/src/vespa/messagebus/destinationsession.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <memory>
#include <string>
#include "destinationsessionparams.h"
@@ -16,12 +15,12 @@ class MessageBus;
* A DestinationSession is used to receive Message objects and reply
* with Reply objects.
*/
-class DestinationSession : public boost::noncopyable, public IMessageHandler {
+class DestinationSession : public IMessageHandler {
private:
friend class MessageBus;
MessageBus &_mbus;
- string _name;
+ string _name;
IMessageHandler &_msgHandler;
/**
diff --git a/messagebus/src/vespa/messagebus/imessagehandler.h b/messagebus/src/vespa/messagebus/imessagehandler.h
index d21936bb0bc..b8c50172b6c 100644
--- a/messagebus/src/vespa/messagebus/imessagehandler.h
+++ b/messagebus/src/vespa/messagebus/imessagehandler.h
@@ -14,7 +14,11 @@ namespace mbus {
**/
class IMessageHandler
{
+protected:
+ IMessageHandler() = default;
public:
+ IMessageHandler(const IMessageHandler &) = delete;
+ IMessageHandler & operator = (const IMessageHandler &) = delete;
virtual ~IMessageHandler() {}
/**
diff --git a/messagebus/src/vespa/messagebus/intermediatesession.h b/messagebus/src/vespa/messagebus/intermediatesession.h
index 7f190c2ea4a..4876e30f516 100644
--- a/messagebus/src/vespa/messagebus/intermediatesession.h
+++ b/messagebus/src/vespa/messagebus/intermediatesession.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <memory>
#include <string>
#include "reply.h"
@@ -17,15 +16,14 @@ class ReplyGate;
* An IntermediateSession is used to process Message and Reply objects
* on the way along a route.
**/
-class IntermediateSession : public boost::noncopyable,
- public IMessageHandler,
+class IntermediateSession : public IMessageHandler,
public IReplyHandler
{
private:
friend class MessageBus;
MessageBus &_mbus;
- string _name;
+ string _name;
IMessageHandler &_msgHandler;
IReplyHandler &_replyHandler;
ReplyGate *_gate;
diff --git a/messagebus/src/vespa/messagebus/iprotocol.h b/messagebus/src/vespa/messagebus/iprotocol.h
index c0af967f33b..18d45d9560d 100644
--- a/messagebus/src/vespa/messagebus/iprotocol.h
+++ b/messagebus/src/vespa/messagebus/iprotocol.h
@@ -18,7 +18,11 @@ namespace mbus {
* also have support for the same set of routing policies.
*/
class IProtocol {
+protected:
+ IProtocol() = default;
public:
+ IProtocol(const IProtocol &) = delete;
+ IProtocol & operator = (const IProtocol &) = delete;
virtual ~IProtocol() {}
/**
diff --git a/messagebus/src/vespa/messagebus/ireplyhandler.h b/messagebus/src/vespa/messagebus/ireplyhandler.h
index c30ca63c519..c29717cd748 100644
--- a/messagebus/src/vespa/messagebus/ireplyhandler.h
+++ b/messagebus/src/vespa/messagebus/ireplyhandler.h
@@ -13,7 +13,11 @@ namespace mbus {
**/
class IReplyHandler
{
+protected:
+ IReplyHandler() = default;
public:
+ IReplyHandler(const IReplyHandler &) = delete;
+ IReplyHandler & operator = (const IReplyHandler &) = delete;
virtual ~IReplyHandler() {}
/**
diff --git a/messagebus/src/vespa/messagebus/messagebus.h b/messagebus/src/vespa/messagebus/messagebus.h
index 5bcfdef20a1..483915eee25 100644
--- a/messagebus/src/vespa/messagebus/messagebus.h
+++ b/messagebus/src/vespa/messagebus/messagebus.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <map>
#include <vespa/messagebus/network/inetworkowner.h>
#include <vespa/messagebus/routing/resender.h>
diff --git a/messagebus/src/vespa/messagebus/messenger.h b/messagebus/src/vespa/messagebus/messenger.h
index 34c02ed1cad..6dfe0636583 100644
--- a/messagebus/src/vespa/messagebus/messenger.h
+++ b/messagebus/src/vespa/messagebus/messenger.h
@@ -17,15 +17,17 @@ namespace mbus {
* tasks. Tasks are enqueued using the synchronized {@link #enqueue(Task)}
* method, and are run in the order they were enqueued.
*/
-class Messenger : public boost::noncopyable,
- public FastOS_Runnable {
+class Messenger : public FastOS_Runnable {
public:
/**
* Defines the required interface for tasks to be posted to this worker.
*/
- class ITask : public boost::noncopyable,
- public vespalib::Executor::Task {
+ class ITask : public vespalib::Executor::Task {
+ protected:
+ ITask() = default;
public:
+ ITask(const ITask &) = delete;
+ ITask & operator = (const ITask &) = delete;
/**
* Convenience typedefs.
*/
diff --git a/messagebus/src/vespa/messagebus/network/inetwork.h b/messagebus/src/vespa/messagebus/network/inetwork.h
index cf98711bacd..9ca024d77a0 100644
--- a/messagebus/src/vespa/messagebus/network/inetwork.h
+++ b/messagebus/src/vespa/messagebus/network/inetwork.h
@@ -17,7 +17,11 @@ namespace mbus {
* sure it outlives the MessageBus object.
*/
class INetwork {
+protected:
+ INetwork() = default;
public:
+ INetwork(const INetwork &) = delete;
+ INetwork & operator = (const INetwork &) = delete;
/**
* Destructor. Frees any allocated resources.
*/
diff --git a/messagebus/src/vespa/messagebus/network/oosmanager.h b/messagebus/src/vespa/messagebus/network/oosmanager.h
index 15a6fc48623..8ae28f30424 100644
--- a/messagebus/src/vespa/messagebus/network/oosmanager.h
+++ b/messagebus/src/vespa/messagebus/network/oosmanager.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/fnet/fnet.h>
#include <set>
#include <vespa/slobrok/sbmirror.h>
@@ -18,7 +17,7 @@ class RPCNetwork;
* service pattern in the slobrok. These servers are then polled for information. The information is compiled into a
* local repository for fast lookup.
*/
-class OOSManager : public boost::noncopyable, public FNET_Task {
+class OOSManager : public FNET_Task {
public:
/**
* Convenience typedefs.
diff --git a/messagebus/src/vespa/messagebus/network/rpcnetwork.h b/messagebus/src/vespa/messagebus/network/rpcnetwork.h
index 5585ff06cec..4f96b426abb 100644
--- a/messagebus/src/vespa/messagebus/network/rpcnetwork.h
+++ b/messagebus/src/vespa/messagebus/network/rpcnetwork.h
@@ -21,8 +21,7 @@ namespace mbus {
* Network implementation based on RPC. This class is responsible for
* keeping track of services and for sending messages to services.
**/
-class RPCNetwork : public boost::noncopyable,
- public INetwork,
+class RPCNetwork : public INetwork,
public FRT_Invokable {
private:
struct SendContext : public RPCTarget::IVersionHandler {
diff --git a/messagebus/src/vespa/messagebus/network/rpcsendadapter.h b/messagebus/src/vespa/messagebus/network/rpcsendadapter.h
index 91ba5de24b7..136f2a0f23c 100644
--- a/messagebus/src/vespa/messagebus/network/rpcsendadapter.h
+++ b/messagebus/src/vespa/messagebus/network/rpcsendadapter.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <memory>
#include <vespa/vespalib/util/referencecounter.h>
@@ -15,9 +14,13 @@ class RPCNetwork;
* outgoing RPC sends. The {@link RPCNetwork} maintains a list of supported RPC
* signatures, and dispatches sends to the corresponding adapter.
*/
-class RPCSendAdapter : public boost::noncopyable
+class RPCSendAdapter
{
+protected:
+ RPCSendAdapter() = default;
public:
+ RPCSendAdapter(const RPCSendAdapter &) = delete;
+ RPCSendAdapter & operator = (const RPCSendAdapter &) = delete;
/**
* Required for inheritance.
*/
diff --git a/messagebus/src/vespa/messagebus/network/rpcsendv1.cpp b/messagebus/src/vespa/messagebus/network/rpcsendv1.cpp
index 642e8c64089..ce41df12a7c 100644
--- a/messagebus/src/vespa/messagebus/network/rpcsendv1.cpp
+++ b/messagebus/src/vespa/messagebus/network/rpcsendv1.cpp
@@ -19,7 +19,7 @@ namespace {
* Implements a helper class to hold the necessary context to create a reply from
* an rpc return value. This object is held as the context of an FRT_RPCRequest.
*/
-class SendContext : public boost::noncopyable {
+class SendContext {
private:
mbus::RoutingNode &_recipient;
mbus::Trace _trace;
@@ -27,7 +27,8 @@ private:
public:
typedef std::unique_ptr<SendContext> UP;
-
+ SendContext(const SendContext &) = delete;
+ SendContext & operator = (const SendContext &) = delete;
SendContext(mbus::RoutingNode &recipient, uint64_t timeRemaining)
: _recipient(recipient),
_trace(recipient.getTrace().getLevel()),
@@ -41,13 +42,15 @@ public:
* Implements a helper class to hold the necessary context to send a reply as an
* rpc return value. This object is held in the callstack of the reply.
*/
-class ReplyContext : public boost::noncopyable {
+class ReplyContext {
private:
FRT_RPCRequest &_request;
vespalib::Version _version;
public:
typedef std::unique_ptr<ReplyContext> UP;
+ ReplyContext(const ReplyContext &) = delete;
+ ReplyContext & operator = (const ReplyContext &) = delete;
ReplyContext(FRT_RPCRequest &request, const vespalib::Version &version)
: _request(request), _version(version) { }
diff --git a/messagebus/src/vespa/messagebus/network/rpcservice.h b/messagebus/src/vespa/messagebus/network/rpcservice.h
index 95e2bfaa377..f4f660e7e09 100644
--- a/messagebus/src/vespa/messagebus/network/rpcservice.h
+++ b/messagebus/src/vespa/messagebus/network/rpcservice.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/slobrok/sbmirror.h>
#include <vespa/slobrok/sbregister.h>
#include <vespa/vespalib/util/linkedptr.h>
@@ -16,7 +15,7 @@ class RPCNetwork;
* The sessions are monitored using the slobrok. If multiple sessions are
* available, round robin is used to balance load between them.
*/
-class RPCService : public boost::noncopyable {
+class RPCService {
private:
typedef slobrok::api::IMirrorAPI Mirror;
typedef slobrok::api::MirrorAPI::SpecList AddressList;
@@ -29,6 +28,8 @@ private:
public:
typedef vespalib::LinkedPtr<RPCService> LP;
+ RPCService(const RPCService &) = delete;
+ RPCService & operator = (const RPCService &) = delete;
/**
* Create a new RPCService backed by the given network and using
* the given service pattern.
diff --git a/messagebus/src/vespa/messagebus/network/rpcservicepool.h b/messagebus/src/vespa/messagebus/network/rpcservicepool.h
index e25cfbb4903..55fac7da577 100644
--- a/messagebus/src/vespa/messagebus/network/rpcservicepool.h
+++ b/messagebus/src/vespa/messagebus/network/rpcservicepool.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include "rpcservice.h"
#include <vespa/vespalib/stllike/lrucache_map.h>
@@ -13,7 +12,7 @@ class RPCNetwork;
* Class used to reuse services for the same pattern when sending messages over
* the rpc network.
*/
-class RPCServicePool : public boost::noncopyable {
+class RPCServicePool {
private:
typedef vespalib::lrucache_map< vespalib::LruParam<string, RPCService::LP> > ServiceCache;
@@ -21,6 +20,8 @@ private:
ServiceCache _lru;
public:
+ RPCServicePool(const RPCServicePool &) = delete;
+ RPCServicePool & operator = (const RPCServicePool &) = delete;
/**
* Create a new service pool for the given network.
*
diff --git a/messagebus/src/vespa/messagebus/network/rpctargetpool.h b/messagebus/src/vespa/messagebus/network/rpctargetpool.h
index 3e4fa953bb5..11f90272175 100644
--- a/messagebus/src/vespa/messagebus/network/rpctargetpool.h
+++ b/messagebus/src/vespa/messagebus/network/rpctargetpool.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <map>
#include <vespa/messagebus/itimer.h>
#include <vespa/vespalib/util/sync.h>
@@ -16,7 +15,7 @@ namespace mbus {
* Class used to reuse targets for the same address when sending messages over
* the rpc network.
*/
-class RPCTargetPool : public boost::noncopyable {
+class RPCTargetPool {
private:
/**
* Implements a helper class holds the necessary reference and token counter
@@ -37,6 +36,8 @@ private:
uint64_t _expireMillis;
public:
+ RPCTargetPool(const RPCTargetPool &) = delete;
+ RPCTargetPool & operator = (const RPCTargetPool &) = delete;
/**
* Constructs a new instance of this class, and registers the {@link
* SystemTimer} for detecting and closing connections that have expired
diff --git a/messagebus/src/vespa/messagebus/protocolrepository.h b/messagebus/src/vespa/messagebus/protocolrepository.h
index 05917a8d5c0..2a09e28bdc7 100644
--- a/messagebus/src/vespa/messagebus/protocolrepository.h
+++ b/messagebus/src/vespa/messagebus/protocolrepository.h
@@ -11,7 +11,7 @@ namespace mbus {
* Implements a thread-safe repository for protocols and their routing policies. This manages an internal cache of
* routing policies so that similarly referenced policy directives share the same instance of a policy.
*/
-class ProtocolRepository : public boost::noncopyable {
+class ProtocolRepository {
private:
typedef std::map<string, IProtocol::SP> ProtocolMap;
typedef std::map<string, IRoutingPolicy::SP> RoutingPolicyCache;
@@ -21,7 +21,9 @@ private:
RoutingPolicyCache _routingPolicyCache;
public:
-
+ ProtocolRepository(const ProtocolRepository &) = delete;
+ ProtocolRepository & operator = (const ProtocolRepository &) = delete;
+ ProtocolRepository() = default;
/**
* Registers a protocol with this repository. This will overwrite any protocol that was registered earlier
* that has the same name. If this method detects a protocol replacement, it will clear its internal
diff --git a/messagebus/src/vespa/messagebus/replygate.h b/messagebus/src/vespa/messagebus/replygate.h
index 121a66edd3f..add66544e02 100644
--- a/messagebus/src/vespa/messagebus/replygate.h
+++ b/messagebus/src/vespa/messagebus/replygate.h
@@ -2,7 +2,6 @@
#pragma once
-#include <boost/utility.hpp>
#include <vespa/vespalib/util/referencecounter.h>
#include "idiscardhandler.h"
#include "imessagehandler.h"
@@ -21,8 +20,7 @@ namespace mbus {
* is handled outside this class. Note that this class is only intended for
* internal use.
*/
-class ReplyGate : public boost::noncopyable,
- public vespalib::ReferenceCounter,
+class ReplyGate : public vespalib::ReferenceCounter,
public IDiscardHandler,
public IMessageHandler,
public IReplyHandler
diff --git a/messagebus/src/vespa/messagebus/routable.h b/messagebus/src/vespa/messagebus/routable.h
index d40c80a736b..8bb5db297a2 100644
--- a/messagebus/src/vespa/messagebus/routable.h
+++ b/messagebus/src/vespa/messagebus/routable.h
@@ -2,7 +2,6 @@
#pragma once
#include <memory>
-#include <boost/utility.hpp>
#include <vespa/messagebus/blob.h>
#include <vespa/messagebus/callstack.h>
#include <vespa/messagebus/context.h>
@@ -25,7 +24,7 @@ namespace mbus {
* transfer the state from a message to the corresponding reply, or to a
* different message if the application decides to replace it.
*/
-class Routable : public boost::noncopyable {
+class Routable {
private:
Context _context;
CallStack _stack;
@@ -36,6 +35,8 @@ public:
* Convenience typedef for an auto pointer to a Routable object.
*/
typedef std::unique_ptr<Routable> UP;
+ Routable(const Routable &) = delete;
+ Routable & operator = (const Routable &) = delete;
/**
* Constructs a new instance of this class.
diff --git a/messagebus/src/vespa/messagebus/routing/iroutingpolicy.h b/messagebus/src/vespa/messagebus/routing/iroutingpolicy.h
index 8fabd5210c3..55072577310 100644
--- a/messagebus/src/vespa/messagebus/routing/iroutingpolicy.h
+++ b/messagebus/src/vespa/messagebus/routing/iroutingpolicy.h
@@ -22,13 +22,13 @@ public:
typedef std::unique_ptr<IRoutingPolicy> UP;
typedef std::shared_ptr<IRoutingPolicy> SP;
-public:
+ IRoutingPolicy(const IRoutingPolicy &) = delete;
+ IRoutingPolicy & operator = (const IRoutingPolicy &) = delete;
+
/**
* Destructor. Frees any allocated resources.
*/
- virtual ~IRoutingPolicy() {
- // empty
- }
+ virtual ~IRoutingPolicy() { }
/**
* This function must choose a set of services that is to receive the given message from a list of possible
@@ -47,6 +47,9 @@ public:
* @param context The complete context for the invokation of this policy. Contains all available data.
*/
virtual void merge(RoutingContext &context) = 0;
+
+protected:
+ IRoutingPolicy() = default;
};
} // namespace mbus
diff --git a/messagebus/src/vespa/messagebus/routing/resender.h b/messagebus/src/vespa/messagebus/routing/resender.h
index 43f195dae09..be013ddfe97 100644
--- a/messagebus/src/vespa/messagebus/routing/resender.h
+++ b/messagebus/src/vespa/messagebus/routing/resender.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/messagebus/queue.h>
#include <vespa/messagebus/reply.h>
#include <queue>
@@ -20,7 +19,7 @@ class RoutingNode;
* internal thread, it depends on message bus to keep polling it whenever it has
* time.
*/
-class Resender : public boost::noncopyable
+class Resender
{
private:
typedef std::pair<uint64_t, RoutingNode*> Entry;
@@ -40,6 +39,8 @@ public:
* Convenience typedefs.
*/
typedef std::unique_ptr<Resender> UP;
+ Resender(const Resender &) = delete;
+ Resender & operator = (const Resender &) = delete;
/**
* Constructs a new resender.
diff --git a/messagebus/src/vespa/messagebus/routing/routingtable.h b/messagebus/src/vespa/messagebus/routing/routingtable.h
index 84b371ea229..9d398c313bd 100644
--- a/messagebus/src/vespa/messagebus/routing/routingtable.h
+++ b/messagebus/src/vespa/messagebus/routing/routingtable.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <map>
#include <string>
#include "hopblueprint.h"
@@ -22,7 +21,7 @@ class Message;
* @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a>
* @version $Id$
*/
-class RoutingTable : public boost::noncopyable {
+class RoutingTable {
private:
string _name;
std::map<string, HopBlueprint> _hops;
@@ -65,6 +64,8 @@ public:
* Convenience typedef for a shared pointer to a RoutingTable object.
*/
typedef std::shared_ptr<RoutingTable> SP;
+ RoutingTable(const RoutingTable &) = delete;
+ RoutingTable & operator = (const RoutingTable &) = delete;
/**
* Creates a new routing table based on a given specification. This also verifies the integrity of the table.
diff --git a/messagebus/src/vespa/messagebus/rpcmessagebus.h b/messagebus/src/vespa/messagebus/rpcmessagebus.h
index 022a5825110..de120b55e62 100644
--- a/messagebus/src/vespa/messagebus/rpcmessagebus.h
+++ b/messagebus/src/vespa/messagebus/rpcmessagebus.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/messagebus/network/rpcnetwork.h>
#include <string>
#include <vespa/config/helper/legacysubscriber.h>
@@ -18,7 +17,7 @@ namespace mbus {
* note that according to the object delete order, you must delete all sessions
* before deleting the underlying MessageBus object.
*/
-class RPCMessageBus : public boost::noncopyable {
+class RPCMessageBus {
private:
RPCNetwork _net;
MessageBus _bus;
@@ -31,6 +30,8 @@ public:
*/
typedef std::unique_ptr<RPCMessageBus> UP;
typedef std::shared_ptr<RPCMessageBus> SP;
+ RPCMessageBus(const RPCMessageBus &) = delete;
+ RPCMessageBus & operator = (const RPCMessageBus &) = delete;
/**
* Constructs a new instance of this class.
diff --git a/messagebus/src/vespa/messagebus/sendproxy.h b/messagebus/src/vespa/messagebus/sendproxy.h
index 36de3ab8aff..1bd880947c1 100644
--- a/messagebus/src/vespa/messagebus/sendproxy.h
+++ b/messagebus/src/vespa/messagebus/sendproxy.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/messagebus/routing/routingtable.h>
#include <vespa/messagebus/routing/routingnode.h>
@@ -14,8 +13,7 @@ class MessageBus;
* attached to it and returned to the application. After the reply has been propagated upwards, this object
* deletes itself. This also implements the discard policy of {@link RoutingNode}.
*/
-class SendProxy : public boost::noncopyable,
- public IDiscardHandler,
+class SendProxy : public IDiscardHandler,
public IMessageHandler,
public IReplyHandler {
private:
diff --git a/messagebus/src/vespa/messagebus/sequencer.h b/messagebus/src/vespa/messagebus/sequencer.h
index aee26c0a9ca..4551ee032a2 100644
--- a/messagebus/src/vespa/messagebus/sequencer.h
+++ b/messagebus/src/vespa/messagebus/sequencer.h
@@ -2,7 +2,6 @@
#pragma once
-#include <boost/utility.hpp>
#include <map>
#include <vespa/vespalib/util/sync.h>
#include "imessagehandler.h"
@@ -18,8 +17,7 @@ namespace mbus {
* object implementing the IMessageHandler API to use for sending messages. This class is used by the
* SourceSession class and is not intended for external use.
*/
-class Sequencer : public boost::noncopyable,
- public IMessageHandler,
+class Sequencer : public IMessageHandler,
public IReplyHandler
{
private:
diff --git a/messagebus/src/vespa/messagebus/sourcesession.h b/messagebus/src/vespa/messagebus/sourcesession.h
index af2c4ff6c92..c40b5418ec1 100644
--- a/messagebus/src/vespa/messagebus/sourcesession.h
+++ b/messagebus/src/vespa/messagebus/sourcesession.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/vespalib/util/sync.h>
#include "ireplyhandler.h"
#include "result.h"
@@ -18,7 +17,7 @@ class ReplyGate;
* objects back. A source session does not have a service name and can only receive replies to the messages
* sent on it.
**/
-class SourceSession : public boost::noncopyable, public IReplyHandler {
+class SourceSession : public IReplyHandler {
private:
friend class MessageBus;
diff --git a/messagebus/src/vespa/messagebus/testlib/custompolicy.h b/messagebus/src/vespa/messagebus/testlib/custompolicy.h
index d054706312b..83d6cf73eb6 100644
--- a/messagebus/src/vespa/messagebus/testlib/custompolicy.h
+++ b/messagebus/src/vespa/messagebus/testlib/custompolicy.h
@@ -1,13 +1,12 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/messagebus/routing/iroutingpolicy.h>
#include "simpleprotocol.h"
namespace mbus {
-class CustomPolicy : public boost::noncopyable, public IRoutingPolicy {
+class CustomPolicy : public IRoutingPolicy {
private:
bool _selectOnRetry;
std::vector<uint32_t> _consumableErrors;
diff --git a/messagebus/src/vespa/messagebus/testlib/simpleprotocol.h b/messagebus/src/vespa/messagebus/testlib/simpleprotocol.h
index 4a57d86f4a7..0a0dee5085a 100644
--- a/messagebus/src/vespa/messagebus/testlib/simpleprotocol.h
+++ b/messagebus/src/vespa/messagebus/testlib/simpleprotocol.h
@@ -2,14 +2,13 @@
#pragma once
-#include <boost/utility.hpp>
#include <map>
#include <string>
#include <vespa/messagebus/iprotocol.h>
namespace mbus {
-class SimpleProtocol : public boost::noncopyable, public IProtocol {
+class SimpleProtocol : public IProtocol {
public:
/**
* Defines a policy factory interface that tests can use to register arbitrary policies with this protocol.
diff --git a/messagebus/src/vespa/messagebus/testlib/testserver.h b/messagebus/src/vespa/messagebus/testlib/testserver.h
index ed0720eef1a..8070b499d99 100644
--- a/messagebus/src/vespa/messagebus/testlib/testserver.h
+++ b/messagebus/src/vespa/messagebus/testlib/testserver.h
@@ -2,7 +2,6 @@
#pragma once
-#include <boost/utility.hpp>
#include <memory>
#include <vespa/messagebus/messagebus.h>
#include <vespa/messagebus/network/rpcnetwork.h>
@@ -27,9 +26,11 @@ public:
void setVersion(const vespalib::Version &version);
};
-class TestServer : public boost::noncopyable {
+class TestServer {
public:
typedef std::unique_ptr<TestServer> UP;
+ TestServer(const TestServer &) = delete;
+ TestServer & operator = (const TestServer &) = delete;
VersionedRPCNetwork net;
MessageBus mb;
diff --git a/metrics/src/vespa/metrics/metricmanager.h b/metrics/src/vespa/metrics/metricmanager.h
index 467e97469c1..594fa5c43f5 100644
--- a/metrics/src/vespa/metrics/metricmanager.h
+++ b/metrics/src/vespa/metrics/metricmanager.h
@@ -44,7 +44,6 @@
#pragma once
#include <string>
-#include <boost/weak_ptr.hpp>
#include <vespa/vespalib/util/document_runnable.h>
#include <vespa/metrics/config-metricsmanager.h>
#include <vespa/metrics/metricset.h>
diff --git a/metrics/src/vespa/metrics/metricset.h b/metrics/src/vespa/metrics/metricset.h
index 257bb699690..444d7491e7c 100644
--- a/metrics/src/vespa/metrics/metricset.h
+++ b/metrics/src/vespa/metrics/metricset.h
@@ -10,7 +10,6 @@
*/
#pragma once
-#include <boost/weak_ptr.hpp>
#include <map>
#include <vespa/metrics/metric.h>
diff --git a/metrics/src/vespa/metrics/metricsnapshot.h b/metrics/src/vespa/metrics/metricsnapshot.h
index 910d97906de..ba4cfe9df53 100644
--- a/metrics/src/vespa/metrics/metricsnapshot.h
+++ b/metrics/src/vespa/metrics/metricsnapshot.h
@@ -8,7 +8,6 @@
*/
#pragma once
-#include <boost/weak_ptr.hpp>
#include <map>
#include <vespa/metrics/metric.h>
#include <vespa/metrics/metricset.h>
diff --git a/persistence/src/vespa/persistence/spi/bucketinfo.h b/persistence/src/vespa/persistence/spi/bucketinfo.h
index 2bc74f8204f..fe6a95661fc 100644
--- a/persistence/src/vespa/persistence/spi/bucketinfo.h
+++ b/persistence/src/vespa/persistence/spi/bucketinfo.h
@@ -6,7 +6,6 @@
#pragma once
-#include <boost/utility.hpp>
#include <persistence/spi/types.h>
namespace storage {
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp b/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp
index 35541176a57..f126ab245c1 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp
+++ b/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp
@@ -178,8 +178,7 @@ AttributeManager::AttributeManager(const vespalib::string &baseDir,
const FileHeaderContext &fileHeaderContext,
search::ISequencedTaskExecutor &
attributeFieldWriter)
- : boost::noncopyable(),
- proton::IAttributeManager(),
+ : proton::IAttributeManager(),
_attributes(),
_flushables(),
_writableAttributes(),
@@ -202,8 +201,7 @@ AttributeManager::AttributeManager(const vespalib::string &baseDir,
search::ISequencedTaskExecutor &
attributeFieldWriter,
const IAttributeFactory::SP &factory)
- : boost::noncopyable(),
- proton::IAttributeManager(),
+ : proton::IAttributeManager(),
_attributes(),
_flushables(),
_writableAttributes(),
@@ -221,8 +219,7 @@ AttributeManager::AttributeManager(const vespalib::string &baseDir,
AttributeManager::AttributeManager(const AttributeManager &currMgr,
const Spec &newSpec,
IAttributeInitializerRegistry &initializerRegistry)
- : boost::noncopyable(),
- proton::IAttributeManager(),
+ : proton::IAttributeManager(),
_attributes(),
_flushables(),
_writableAttributes(),
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.h b/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.h
index 1a31ee3e7f1..15d1c25bbc0 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.h
+++ b/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.h
@@ -7,7 +7,6 @@
#include "i_attribute_manager.h"
#include "i_attribute_initializer_registry.h"
#include <set>
-#include <boost/utility.hpp>
#include <vespa/searchlib/common/tunefileinfo.h>
#include <vespa/searchcore/proton/attribute/flushableattribute.h>
#include <vespa/searchlib/attribute/attributevector.h>
@@ -32,8 +31,7 @@ namespace proton
/**
* Specialized attribute manager for proton.
*/
-class AttributeManager : public boost::noncopyable,
- public proton::IAttributeManager
+class AttributeManager : public proton::IAttributeManager
{
private:
typedef search::attribute::Config Config;
diff --git a/searchcore/src/vespa/searchcore/proton/common/feedtoken.h b/searchcore/src/vespa/searchcore/proton/common/feedtoken.h
index eb932c22fe6..fee84d53ce5 100644
--- a/searchcore/src/vespa/searchcore/proton/common/feedtoken.h
+++ b/searchcore/src/vespa/searchcore/proton/common/feedtoken.h
@@ -32,18 +32,18 @@ public:
};
private:
- class State : public boost::noncopyable {
+ class State {
public:
+ State(const State &) = delete;
+ State & operator = (const State &) = delete;
State(ITransport & transport, mbus::Reply::UP reply, uint32_t numAcksRequired);
~State();
void setNumAcksRequired(uint32_t numAcksRequired) { _unAckedCount = numAcksRequired; }
void ack();
- void
- ack(const FeedOperation::Type opType, PerDocTypeFeedMetrics &metrics);
+ void ack(const FeedOperation::Type opType, PerDocTypeFeedMetrics &metrics);
- void
- incNeededAcks(void);
+ void incNeededAcks(void);
void fail(uint32_t errNum, const vespalib::string &errMsg);
void trace(uint32_t traceLevel, const vespalib::string &traceMsg);
diff --git a/searchcore/src/vespa/searchcore/proton/docsummary/docsumcontext.h b/searchcore/src/vespa/searchcore/proton/docsummary/docsumcontext.h
index d0ea8e089d1..ebfab9dd7e0 100644
--- a/searchcore/src/vespa/searchcore/proton/docsummary/docsumcontext.h
+++ b/searchcore/src/vespa/searchcore/proton/docsummary/docsumcontext.h
@@ -14,8 +14,7 @@ namespace proton {
* The DocsumContext class is responsible for performing a docsum request and
* creating a docsum reply.
**/
-class DocsumContext : public boost::noncopyable,
- public search::docsummary::GetDocsumsStateCallback {
+class DocsumContext : public search::docsummary::GetDocsumsStateCallback {
private:
const search::engine::DocsumRequest & _request;
search::docsummary::IDocsumWriter & _docsumWriter;
diff --git a/searchcore/src/vespa/searchcore/proton/docsummary/isummarymanager.h b/searchcore/src/vespa/searchcore/proton/docsummary/isummarymanager.h
index b9f105291fc..4ac3a6e9876 100644
--- a/searchcore/src/vespa/searchcore/proton/docsummary/isummarymanager.h
+++ b/searchcore/src/vespa/searchcore/proton/docsummary/isummarymanager.h
@@ -17,9 +17,11 @@ namespace proton {
/**
* Interface for a summary manager.
*/
-class ISummaryManager : public boost::noncopyable
+class ISummaryManager
{
public:
+ ISummaryManager(const ISummaryManager &) = delete;
+ ISummaryManager & operator = (const ISummaryManager &) = delete;
/**
* Interface for a summary setup.
*/
@@ -53,7 +55,8 @@ public:
const std::shared_ptr<search::IAttributeManager> &attributeMgr) = 0;
virtual search::IDocumentStore &getBackingStore() = 0;
-
+protected:
+ ISummaryManager() = default;
};
} // namespace proton
diff --git a/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.h b/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.h
index 5ade573887f..85eed282ea0 100644
--- a/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.h
+++ b/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/document/document.h>
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/searchcore/config/config-proton.h>
diff --git a/searchcore/src/vespa/searchcore/proton/flushengine/flush_all_strategy.h b/searchcore/src/vespa/searchcore/proton/flushengine/flush_all_strategy.h
index 8a0b2fa43dc..4c0076c738c 100644
--- a/searchcore/src/vespa/searchcore/proton/flushengine/flush_all_strategy.h
+++ b/searchcore/src/vespa/searchcore/proton/flushengine/flush_all_strategy.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/searchcore/proton/flushengine/iflushstrategy.h>
#include <vespa/vespalib/util/sync.h>
#include <vespa/vespalib/stllike/string.h>
@@ -13,14 +12,12 @@ namespace proton {
* Class implementing "flush" everything strategy. Targets are just
* sorted on age.
*/
-class FlushAllStrategy : public boost::noncopyable,
- public IFlushStrategy
+class FlushAllStrategy : public IFlushStrategy
{
public:
FlushAllStrategy();
- // Implements IFlushStrategy
- virtual FlushContext::List
+ FlushContext::List
getFlushTargets(const FlushContext::List &targetList,
const flushengine::TlsStatsMap &) const override;
};
diff --git a/searchcore/src/vespa/searchcore/proton/flushengine/flushcontext.h b/searchcore/src/vespa/searchcore/proton/flushengine/flushcontext.h
index 837a99f153e..0795876a04e 100644
--- a/searchcore/src/vespa/searchcore/proton/flushengine/flushcontext.h
+++ b/searchcore/src/vespa/searchcore/proton/flushengine/flushcontext.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/searchcore/proton/flushengine/iflushhandler.h>
#include <vespa/vespalib/util/executor.h>
@@ -13,7 +12,7 @@ using searchcorespi::IFlushTarget;
* This class is used by FlushEngine to hold the necessary context for flushing
* a single IFlushTarget.
*/
-class FlushContext : public boost::noncopyable {
+class FlushContext {
private:
vespalib::string _name;
IFlushHandler::SP _handler;
@@ -24,6 +23,8 @@ private:
public:
typedef std::shared_ptr<FlushContext> SP;
typedef std::vector<SP> List;
+ FlushContext(const FlushContext &) = delete;
+ FlushContext & operator = (const FlushContext &) = delete;
/**
* Create a name of the handler and the target.
diff --git a/searchcore/src/vespa/searchcore/proton/flushengine/flushengine.h b/searchcore/src/vespa/searchcore/proton/flushengine/flushengine.h
index d8d77c11b8f..e76ec5e7e0c 100644
--- a/searchcore/src/vespa/searchcore/proton/flushengine/flushengine.h
+++ b/searchcore/src/vespa/searchcore/proton/flushengine/flushengine.h
@@ -13,8 +13,7 @@ namespace proton {
namespace flushengine { class ITlsStatsFactory; }
-class FlushEngine : public boost::noncopyable,
- public FastOS_Runnable
+class FlushEngine : public FastOS_Runnable
{
public:
class FlushMeta {
diff --git a/searchcore/src/vespa/searchcore/proton/flushengine/flushtask.h b/searchcore/src/vespa/searchcore/proton/flushengine/flushtask.h
index c10fb740410..33b4c8647f7 100644
--- a/searchcore/src/vespa/searchcore/proton/flushengine/flushtask.h
+++ b/searchcore/src/vespa/searchcore/proton/flushengine/flushtask.h
@@ -9,8 +9,7 @@ namespace proton {
* This class decorates a task returned by initFlush() in IFlushTarget so that
* the appropriate callback is invoked on the running FlushEngine.
*/
-class FlushTask : public boost::noncopyable,
- public vespalib::Executor::Task
+class FlushTask : public vespalib::Executor::Task
{
private:
uint32_t _taskId;
@@ -19,6 +18,8 @@ private:
search::SerialNum _serial;
public:
+ FlushTask(const FlushTask &) = delete;
+ FlushTask & operator = (const FlushTask &) = delete;
/**
* Constructs a new instance of this class.
*
@@ -26,9 +27,7 @@ public:
* @param engine The running flush engine.
* @param ctx The context of the flush to perform.
*/
- FlushTask(uint32_t taskId,
- FlushEngine &engine,
- const FlushContext::SP &ctx);
+ FlushTask(uint32_t taskId, FlushEngine &engine, const FlushContext::SP &ctx);
/**
* Destructor. Notifies the engine that the flush is done to prevent the
diff --git a/searchcore/src/vespa/searchcore/proton/flushengine/iflushhandler.h b/searchcore/src/vespa/searchcore/proton/flushengine/iflushhandler.h
index 2d3eddf7af9..9f7f3e37188 100644
--- a/searchcore/src/vespa/searchcore/proton/flushengine/iflushhandler.h
+++ b/searchcore/src/vespa/searchcore/proton/flushengine/iflushhandler.h
@@ -23,7 +23,8 @@ public:
* Convenience typedefs.
*/
typedef std::shared_ptr<IFlushHandler> SP;
-
+ IFlushHandler(const IFlushHandler &) = delete;
+ IFlushHandler & operator = (const IFlushHandler &) = delete;
/**
* Constructs a new instance of this class.
*
@@ -38,21 +39,14 @@ public:
/**
* Virtual destructor required for inheritance.
*/
- virtual ~IFlushHandler()
- {
- // empty
- }
+ virtual ~IFlushHandler() { }
/**
* Returns the unique name of this handler.
*
* @return The name of this.
*/
- const vespalib::string &
- getName() const
- {
- return _name;
- }
+ const vespalib::string & getName() const { return _name; }
/**
* Returns a list of the flush targets that belong to this handler. This
@@ -60,8 +54,7 @@ public:
*
* @return The list of targets.
*/
- virtual std::vector<IFlushTarget::SP>
- getFlushTargets() = 0;
+ virtual std::vector<IFlushTarget::SP> getFlushTargets() = 0;
/**
* Returns the current serial number of this handler. This is the head of
@@ -88,8 +81,7 @@ public:
* @param syncTo The last serial number that has to be persisted to stable
* media.
*/
- virtual void
- syncTls(SerialNum syncTo) = 0;
+ virtual void syncTls(SerialNum syncTo) = 0;
};
} // namespace proton
diff --git a/searchcore/src/vespa/searchcore/proton/flushengine/iflushstrategy.h b/searchcore/src/vespa/searchcore/proton/flushengine/iflushstrategy.h
index 7139c69a778..c905f4486a1 100644
--- a/searchcore/src/vespa/searchcore/proton/flushengine/iflushstrategy.h
+++ b/searchcore/src/vespa/searchcore/proton/flushengine/iflushstrategy.h
@@ -19,6 +19,8 @@ public:
*/
typedef std::shared_ptr<IFlushStrategy> SP;
+ IFlushStrategy(const IFlushStrategy &) = delete;
+ IFlushStrategy & operator = (const IFlushStrategy &) = delete;
/**
* Virtual destructor required for inheritance.
*/
@@ -34,6 +36,8 @@ public:
virtual FlushContext::List getFlushTargets(const FlushContext::List & targetList,
const flushengine::TlsStatsMap &
tlsStatsMap) const = 0;
+protected:
+ IFlushStrategy() = default;
};
} // namespace proton
diff --git a/searchcore/src/vespa/searchcore/proton/matchengine/imatchhandler.h b/searchcore/src/vespa/searchcore/proton/matchengine/imatchhandler.h
index 17bfc2fa958..14375313906 100644
--- a/searchcore/src/vespa/searchcore/proton/matchengine/imatchhandler.h
+++ b/searchcore/src/vespa/searchcore/proton/matchengine/imatchhandler.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/searchcore/proton/matching/isearchcontext.h>
#include <vespa/searchcore/proton/summaryengine/isearchhandler.h>
#include <vespa/searchlib/engine/searchreply.h>
@@ -16,7 +15,11 @@ namespace proton {
* operations to the appropriate db.
*/
class IMatchHandler {
+protected:
+ IMatchHandler() = default;
public:
+ IMatchHandler(const IMatchHandler &) = delete;
+ IMatchHandler & operator = (const IMatchHandler &) = delete;
/**
* Convenience typedefs.
*/
diff --git a/searchcore/src/vespa/searchcore/proton/matchengine/matchengine.h b/searchcore/src/vespa/searchcore/proton/matchengine/matchengine.h
index 33f35ace94d..0c026dd602d 100644
--- a/searchcore/src/vespa/searchcore/proton/matchengine/matchengine.h
+++ b/searchcore/src/vespa/searchcore/proton/matchengine/matchengine.h
@@ -12,8 +12,7 @@
namespace proton {
-class MatchEngine : public boost::noncopyable,
- public search::engine::SearchServer,
+class MatchEngine : public search::engine::SearchServer,
public vespalib::StateExplorer
{
private:
@@ -33,6 +32,8 @@ public:
*/
typedef std::unique_ptr<MatchEngine> UP;
typedef std::shared_ptr<MatchEngine> SP;
+ MatchEngine(const MatchEngine &) = delete;
+ MatchEngine & operator = (const MatchEngine &) = delete;
/**
* Constructs a new match engine. This does the necessary setup of the
diff --git a/searchcore/src/vespa/searchcore/proton/matching/isearchcontext.h b/searchcore/src/vespa/searchcore/proton/matching/isearchcontext.h
index 5d018cd5f41..65744e628b5 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/isearchcontext.h
+++ b/searchcore/src/vespa/searchcore/proton/matching/isearchcontext.h
@@ -21,11 +21,15 @@ namespace matching {
**/
class ISearchContext
{
+protected:
+ ISearchContext() = default;
public:
/**
* Convenience typedef for an auto pointer to this interface.
**/
typedef std::unique_ptr<ISearchContext> UP;
+ ISearchContext(const ISearchContext &) = delete;
+ ISearchContext & operator = (const ISearchContext &) = delete;
typedef search::queryeval::Searchable Searchable;
diff --git a/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h b/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h
index 38e7f85fda4..515c41bbafe 100644
--- a/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h
+++ b/searchcore/src/vespa/searchcore/proton/persistenceengine/ipersistencehandler.h
@@ -17,14 +17,17 @@ namespace proton {
* operations to the appropriate db.
*/
class IPersistenceHandler {
+protected:
+ IPersistenceHandler() = default;
public:
/**
* Convenience typedefs.
*/
typedef std::unique_ptr<IPersistenceHandler> UP;
typedef std::shared_ptr<IPersistenceHandler> SP;
- typedef std::shared_ptr<
- std::vector<IDocumentRetriever::SP> > RetrieversSP;
+ typedef std::shared_ptr<std::vector<IDocumentRetriever::SP> > RetrieversSP;
+ IPersistenceHandler(const IPersistenceHandler &) = delete;
+ IPersistenceHandler & operator = (const IPersistenceHandler &) = delete;
/**
* Virtual destructor to allow inheritance.
diff --git a/searchcore/src/vespa/searchcore/proton/server/emptysearchview.cpp b/searchcore/src/vespa/searchcore/proton/server/emptysearchview.cpp
index 4fd9726f686..dc25233f8c2 100644
--- a/searchcore/src/vespa/searchcore/proton/server/emptysearchview.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/emptysearchview.cpp
@@ -14,9 +14,8 @@ using search::engine::SearchRequest;
namespace proton
{
-EmptySearchView::EmptySearchView(void)
- : boost::noncopyable(),
- ISearchHandler()
+EmptySearchView::EmptySearchView()
+ : ISearchHandler()
{
}
diff --git a/searchcore/src/vespa/searchcore/proton/server/emptysearchview.h b/searchcore/src/vespa/searchcore/proton/server/emptysearchview.h
index 3b22ecf43a5..c503302db46 100644
--- a/searchcore/src/vespa/searchcore/proton/server/emptysearchview.h
+++ b/searchcore/src/vespa/searchcore/proton/server/emptysearchview.h
@@ -6,8 +6,7 @@
namespace proton {
-class EmptySearchView : public boost::noncopyable,
- public ISearchHandler
+class EmptySearchView : public ISearchHandler
{
public:
typedef std::shared_ptr<EmptySearchView> SP;
diff --git a/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp b/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp
index 6b7eadb2cb8..c5cf0ee34b8 100644
--- a/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/feedhandler.cpp
@@ -515,8 +515,7 @@ FeedHandler::FeedHandler(IThreadingService &writeService,
IReplayConfig &replayConfig,
search::transactionlog::Writer *tlsDirectWriter,
TlsWriter *tls_writer)
- : boost::noncopyable(),
- search::transactionlog::TransLogClient::Session::Callback(),
+ : search::transactionlog::TransLogClient::Session::Callback(),
IDocumentMoveHandler(),
IPruneRemovedDocumentsHandler(),
IHeartBeatHandler(),
diff --git a/searchcore/src/vespa/searchcore/proton/server/feedhandler.h b/searchcore/src/vespa/searchcore/proton/server/feedhandler.h
index a1bf80181db..4c6e9966052 100644
--- a/searchcore/src/vespa/searchcore/proton/server/feedhandler.h
+++ b/searchcore/src/vespa/searchcore/proton/server/feedhandler.h
@@ -37,9 +37,7 @@ class IBucketDBHandler;
* Class handling all aspects of feeding for a document database.
* In addition to regular feeding this also includes handling the transaction log.
*/
-class FeedHandler: public boost::noncopyable,
- private search::transactionlog::
- TransLogClient::Session::Callback,
+class FeedHandler: private search::transactionlog::TransLogClient::Session::Callback,
public IDocumentMoveHandler,
public IPruneRemovedDocumentsHandler,
public IHeartBeatHandler,
@@ -138,48 +136,39 @@ private:
void performDeleteBucket(FeedToken::UP token, DeleteBucketOperation &op);
void performSplit(FeedToken::UP token, SplitBucketOperation &op);
void performJoin(FeedToken::UP token, JoinBucketsOperation &op);
- void performSync(void);
+ void performSync();
/**
* Used during callback from transaction log.
*/
- void
- handleTransactionLogEntry(const Packet::Entry &entry);
-
- void
- performEof(void);
+ void handleTransactionLogEntry(const Packet::Entry &entry);
+ void performEof();
/**
* Used when flushing is done
*/
- void
- performFlushDone(SerialNum flushedSerial);
-
- void
- performPrune(SerialNum flushedSerial);
+ void performFlushDone(SerialNum flushedSerial);
+ void performPrune(SerialNum flushedSerial);
public:
- void
- considerDelayedPrune(void);
+ void considerDelayedPrune();
private:
/**
* Returns the current feed state of this feed handler.
*/
- FeedState::SP
- getFeedState() const;
+ FeedState::SP getFeedState() const;
/**
* Used to handle feed state transitions.
*/
- void
- changeFeedState(FeedState::SP newState);
+ void changeFeedState(FeedState::SP newState);
- void
- changeFeedState(FeedState::SP newState,
- const vespalib::LockGuard &feedGuard);
+ void changeFeedState(FeedState::SP newState, const vespalib::LockGuard &feedGuard);
public:
+ FeedHandler(const FeedHandler &) = delete;
+ FeedHandler & operator = (const FeedHandler &) = delete;
/**
* Create a new feed handler.
*
diff --git a/searchcore/src/vespa/searchcore/proton/server/flushhandlerproxy.h b/searchcore/src/vespa/searchcore/proton/server/flushhandlerproxy.h
index 9f27c29c2bb..7e8837c92b0 100644
--- a/searchcore/src/vespa/searchcore/proton/server/flushhandlerproxy.h
+++ b/searchcore/src/vespa/searchcore/proton/server/flushhandlerproxy.h
@@ -7,31 +7,22 @@
namespace proton {
-class FlushHandlerProxy : public boost::noncopyable,
- public IFlushHandler
+class FlushHandlerProxy : public IFlushHandler
{
private:
DocumentDB::SP _documentDB;
public:
FlushHandlerProxy(const DocumentDB::SP &documentDB);
- virtual
- ~FlushHandlerProxy(void);
+ virtual ~FlushHandlerProxy();
/**
* Implements IFlushHandler.
*/
- virtual std::vector<IFlushTarget::SP>
- getFlushTargets(void);
-
- virtual SerialNum
- getCurrentSerialNumber(void) const;
-
- virtual void
- flushDone(SerialNum flushedSerial);
-
- virtual void
- syncTls(SerialNum syncTo);
+ std::vector<IFlushTarget::SP> getFlushTargets() override;
+ SerialNum getCurrentSerialNumber() const override;
+ void flushDone(SerialNum flushedSerial) override;
+ void syncTls(SerialNum syncTo) override;
};
} // namespace proton
diff --git a/searchcore/src/vespa/searchcore/proton/server/ifeedview.h b/searchcore/src/vespa/searchcore/proton/server/ifeedview.h
index eda592ec0e4..10b86b57885 100644
--- a/searchcore/src/vespa/searchcore/proton/server/ifeedview.h
+++ b/searchcore/src/vespa/searchcore/proton/server/ifeedview.h
@@ -23,14 +23,17 @@ class MoveOperation;
/**
* Interface for a feed view as seen from a feed handler.
*/
-class IFeedView : public boost::noncopyable
+class IFeedView
{
protected:
typedef search::transactionlog::Packet Packet;
+ IFeedView() = default;
public:
typedef std::shared_ptr<IFeedView> SP;
- virtual~IFeedView() { }
+ IFeedView(const IFeedView &) = delete;
+ IFeedView & operator = (const IFeedView &) = delete;
+ virtual ~IFeedView() { }
virtual const document::DocumentTypeRepo::SP &getDocumentTypeRepo() const = 0;
diff --git a/searchcore/src/vespa/searchcore/proton/server/matchhandlerproxy.h b/searchcore/src/vespa/searchcore/proton/server/matchhandlerproxy.h
index cde2ded80aa..b9d9017a691 100644
--- a/searchcore/src/vespa/searchcore/proton/server/matchhandlerproxy.h
+++ b/searchcore/src/vespa/searchcore/proton/server/matchhandlerproxy.h
@@ -7,8 +7,7 @@
namespace proton {
-class MatchHandlerProxy : public boost::noncopyable,
- public IMatchHandler
+class MatchHandlerProxy : public IMatchHandler
{
private:
DocumentDB::SP _documentDB;
diff --git a/searchcore/src/vespa/searchcore/proton/server/matchview.cpp b/searchcore/src/vespa/searchcore/proton/server/matchview.cpp
index 7873a54cc0c..19577ea4917 100644
--- a/searchcore/src/vespa/searchcore/proton/server/matchview.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/matchview.cpp
@@ -37,8 +37,7 @@ MatchView::MatchView(const Matchers::SP &matchers,
const SessionManager::SP &sessionMgr,
const IDocumentMetaStoreContext::SP &metaStore,
DocIdLimit &docIdLimit)
- : boost::noncopyable(),
- _matchers(matchers),
+ : _matchers(matchers),
_indexSearchable(indexSearchable),
_attrMgr(attrMgr),
_sessionMgr(sessionMgr),
diff --git a/searchcore/src/vespa/searchcore/proton/server/matchview.h b/searchcore/src/vespa/searchcore/proton/server/matchview.h
index 45a809dfe14..018290aea14 100644
--- a/searchcore/src/vespa/searchcore/proton/server/matchview.h
+++ b/searchcore/src/vespa/searchcore/proton/server/matchview.h
@@ -14,7 +14,7 @@
namespace proton {
-class MatchView : public boost::noncopyable {
+class MatchView {
Matchers::SP _matchers;
searchcorespi::IndexSearchable::SP _indexSearchable;
IAttributeManager::SP _attrMgr;
@@ -28,6 +28,8 @@ class MatchView : public boost::noncopyable {
public:
typedef std::shared_ptr<MatchView> SP;
+ MatchView(const MatchView &) = delete;
+ MatchView & operator = (const MatchView &) = delete;
MatchView(const Matchers::SP &matchers,
const searchcorespi::IndexSearchable::SP &indexSearchable,
@@ -36,49 +38,18 @@ public:
const IDocumentMetaStoreContext::SP &metaStore,
DocIdLimit &docIdLimit);
- const Matchers::SP &
- getMatchers() const
- {
- return _matchers;
- }
-
- const searchcorespi::IndexSearchable::SP &
- getIndexSearchable() const
- {
- return _indexSearchable;
- }
-
- const IAttributeManager::SP &
- getAttributeManager() const
- {
- return _attrMgr;
- }
-
- const matching::SessionManager::SP &
- getSessionManager() const
- {
- return _sessionMgr;
- }
-
- const IDocumentMetaStoreContext::SP &
- getDocumentMetaStore() const
- {
- return _metaStore;
- }
-
- DocIdLimit &
- getDocIdLimit(void) const
- {
- return _docIdLimit;
- }
+ const Matchers::SP & getMatchers() const { return _matchers; }
+ const searchcorespi::IndexSearchable::SP & getIndexSearchable() const { return _indexSearchable; }
+ const IAttributeManager::SP & getAttributeManager() const { return _attrMgr; }
+ const matching::SessionManager::SP & getSessionManager() const { return _sessionMgr; }
+ const IDocumentMetaStoreContext::SP & getDocumentMetaStore() const { return _metaStore; }
+ DocIdLimit & getDocIdLimit(void) const { return _docIdLimit; }
// Throws on error.
- matching::Matcher::SP
- getMatcher(const vespalib::string & rankProfile) const;
+ matching::Matcher::SP getMatcher(const vespalib::string & rankProfile) const;
matching::MatchingStats
- getMatcherStats(const vespalib::string &rankProfile) const
- {
+ getMatcherStats(const vespalib::string &rankProfile) const {
return _matchers->getStats(rankProfile);
}
diff --git a/searchcore/src/vespa/searchcore/proton/server/memoryflush.h b/searchcore/src/vespa/searchcore/proton/server/memoryflush.h
index b8a05403feb..71af7bf6375 100644
--- a/searchcore/src/vespa/searchcore/proton/server/memoryflush.h
+++ b/searchcore/src/vespa/searchcore/proton/server/memoryflush.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/searchcore/proton/flushengine/iflushstrategy.h>
#include <vespa/vespalib/util/sync.h>
#include <vespa/vespalib/stllike/string.h>
@@ -9,8 +8,7 @@
namespace proton {
-class MemoryFlush : public boost::noncopyable,
- public IFlushStrategy
+class MemoryFlush : public IFlushStrategy
{
public:
struct Config
diff --git a/searchcore/src/vespa/searchcore/proton/server/persistencehandlerproxy.h b/searchcore/src/vespa/searchcore/proton/server/persistencehandlerproxy.h
index 3ec92e96439..4e1af1ce1d0 100644
--- a/searchcore/src/vespa/searchcore/proton/server/persistencehandlerproxy.h
+++ b/searchcore/src/vespa/searchcore/proton/server/persistencehandlerproxy.h
@@ -7,8 +7,7 @@
namespace proton {
-class PersistenceHandlerProxy : public boost::noncopyable,
- public IPersistenceHandler
+class PersistenceHandlerProxy : public IPersistenceHandler
{
private:
DocumentDB::SP _documentDB;
diff --git a/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h b/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h
index 8d8d22c1c54..2e1110dd07d 100644
--- a/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h
+++ b/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h
@@ -29,7 +29,7 @@ namespace proton {
/**
* Class used to reconfig the feed view and search view used in a searchable sub database.
*/
-class SearchableDocSubDBConfigurer : public boost::noncopyable
+class SearchableDocSubDBConfigurer
{
private:
typedef vespalib::VarHolder<SearchView::SP> SearchViewHolder;
@@ -70,6 +70,8 @@ private:
const MatchView::SP &matchView);
public:
+ SearchableDocSubDBConfigurer(const SearchableDocSubDBConfigurer &) = delete;
+ SearchableDocSubDBConfigurer & operator = (const SearchableDocSubDBConfigurer &) = delete;
SearchableDocSubDBConfigurer(const ISummaryManager::SP &summaryMgr,
SearchViewHolder &searchView,
FeedViewHolder &feedView,
diff --git a/searchcore/src/vespa/searchcore/proton/server/searchcontext.h b/searchcore/src/vespa/searchcore/proton/server/searchcontext.h
index 058390d7c64..ab98814a437 100644
--- a/searchcore/src/vespa/searchcore/proton/server/searchcontext.h
+++ b/searchcore/src/vespa/searchcore/proton/server/searchcontext.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/noncopyable.hpp>
#include <vespa/searchlib/attribute/attribute_blueprint_factory.h>
#include <vespa/searchcore/proton/matching/isearchcontext.h>
@@ -13,12 +12,11 @@ namespace proton {
* the documenttype. First create, search and rank, then group/sort,
* collect hits.
*/
-class SearchContext : public boost::noncopyable,
- public matching::ISearchContext
+class SearchContext : public matching::ISearchContext
{
private:
/// Snapshot of the indexes used.
- Searchable::SP _indexSearchable;
+ Searchable::SP _indexSearchable;
search::AttributeBlueprintFactory _attributeBlueprintFactory;
uint32_t _docIdLimit;
diff --git a/searchcore/src/vespa/searchcore/proton/server/searchhandlerproxy.h b/searchcore/src/vespa/searchcore/proton/server/searchhandlerproxy.h
index 59bf6cdac32..1fb25c37f45 100644
--- a/searchcore/src/vespa/searchcore/proton/server/searchhandlerproxy.h
+++ b/searchcore/src/vespa/searchcore/proton/server/searchhandlerproxy.h
@@ -7,8 +7,7 @@
namespace proton {
-class SearchHandlerProxy : public boost::noncopyable,
- public ISearchHandler
+class SearchHandlerProxy : public ISearchHandler
{
private:
DocumentDB::SP _documentDB;
diff --git a/searchcore/src/vespa/searchcore/proton/server/searchview.cpp b/searchcore/src/vespa/searchcore/proton/server/searchview.cpp
index 692be5fe183..e73ef2549df 100644
--- a/searchcore/src/vespa/searchcore/proton/server/searchview.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/searchview.cpp
@@ -91,8 +91,7 @@ createEmptyReply(const DocsumRequest & request)
SearchView::SearchView(const ISummaryManager::ISummarySetup::SP &
summarySetup,
const MatchView::SP & matchView)
- : boost::noncopyable(),
- ISearchHandler(),
+ : ISearchHandler(),
_summarySetup(summarySetup),
_matchView(matchView)
{
diff --git a/searchcore/src/vespa/searchcore/proton/server/searchview.h b/searchcore/src/vespa/searchcore/proton/server/searchview.h
index d5e09489231..b638b34779f 100644
--- a/searchcore/src/vespa/searchcore/proton/server/searchview.h
+++ b/searchcore/src/vespa/searchcore/proton/server/searchview.h
@@ -8,8 +8,7 @@
namespace proton {
-class SearchView : public boost::noncopyable,
- public ISearchHandler
+class SearchView : public ISearchHandler
{
private:
ISummaryManager::ISummarySetup::SP _summarySetup;
diff --git a/searchcore/src/vespa/searchcore/proton/server/simpleflush.h b/searchcore/src/vespa/searchcore/proton/server/simpleflush.h
index dcec3e1f283..82e379a345a 100644
--- a/searchcore/src/vespa/searchcore/proton/server/simpleflush.h
+++ b/searchcore/src/vespa/searchcore/proton/server/simpleflush.h
@@ -1,14 +1,12 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/searchcore/proton/flushengine/iflushstrategy.h>
#include <vespa/vespalib/util/sync.h>
namespace proton {
-class SimpleFlush : public boost::noncopyable,
- public IFlushStrategy
+class SimpleFlush : public IFlushStrategy
{
private:
class CompareTarget {
diff --git a/searchcore/src/vespa/searchcore/proton/server/transactionlogmanagerbase.h b/searchcore/src/vespa/searchcore/proton/server/transactionlogmanagerbase.h
index 4a140f0caed..8c1de1fb14f 100644
--- a/searchcore/src/vespa/searchcore/proton/server/transactionlogmanagerbase.h
+++ b/searchcore/src/vespa/searchcore/proton/server/transactionlogmanagerbase.h
@@ -3,14 +3,13 @@
#pragma once
#include <vespa/searchlib/transactionlog/translogclient.h>
-#include <boost/noncopyable.hpp>
namespace proton {
/**
* Base class managing the initialization and replay of a transaction log.
**/
-class TransactionLogManagerBase : public boost::noncopyable {
+class TransactionLogManagerBase {
search::transactionlog::TransLogClient _tlc;
search::transactionlog::TransLogClient::Session::UP _tlcSession;
@@ -38,6 +37,8 @@ protected:
int64_t elapsedTime) const = 0;
public:
+ TransactionLogManagerBase(const TransactionLogManagerBase &) = delete;
+ TransactionLogManagerBase & operator = (const TransactionLogManagerBase &) = delete;
/**
* Create a new manager.
*
diff --git a/searchcore/src/vespa/searchcore/proton/summaryengine/isearchhandler.h b/searchcore/src/vespa/searchcore/proton/summaryengine/isearchhandler.h
index b8fe2b658ff..866b89c2276 100644
--- a/searchcore/src/vespa/searchcore/proton/summaryengine/isearchhandler.h
+++ b/searchcore/src/vespa/searchcore/proton/summaryengine/isearchhandler.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/searchlib/engine/docsumreply.h>
#include <vespa/searchlib/engine/docsumrequest.h>
#include <vespa/searchlib/engine/searchreply.h>
@@ -23,6 +22,8 @@ public:
typedef std::unique_ptr<ISearchHandler> UP;
typedef std::shared_ptr<ISearchHandler> SP;
+ ISearchHandler(const ISearchHandler &) = delete;
+ ISearchHandler & operator = (const ISearchHandler &) = delete;
/**
* Virtual destructor to allow inheritance.
*/
@@ -37,6 +38,8 @@ public:
const ISearchHandler::SP &self,
const search::engine::SearchRequest &req,
vespalib::ThreadBundle &threadBundle) const = 0;
+protected:
+ ISearchHandler() = default;
};
} // namespace proton
diff --git a/searchcore/src/vespa/searchcore/proton/summaryengine/summaryengine.h b/searchcore/src/vespa/searchcore/proton/summaryengine/summaryengine.h
index 888fbc82ec8..54c25254de4 100644
--- a/searchcore/src/vespa/searchcore/proton/summaryengine/summaryengine.h
+++ b/searchcore/src/vespa/searchcore/proton/summaryengine/summaryengine.h
@@ -9,8 +9,7 @@
namespace proton {
-class SummaryEngine : public boost::noncopyable,
- public search::engine::DocsumServer
+class SummaryEngine : public search::engine::DocsumServer
{
private:
using DocsumReply = search::engine::DocsumReply;
@@ -28,6 +27,8 @@ public:
*/
typedef std::unique_ptr<SummaryEngine> UP;
typedef std::shared_ptr<SummaryEngine> SP;
+ SummaryEngine(const SummaryEngine &) = delete;
+ SummaryEngine & operator = (const SummaryEngine &) = delete;
/**
* Constructs a new summary engine. This does the necessary setup of the
diff --git a/searchlib/src/vespa/searchlib/attribute/iattributemanager.h b/searchlib/src/vespa/searchlib/attribute/iattributemanager.h
index 7e3ab9c164c..0b50bf39203 100644
--- a/searchlib/src/vespa/searchlib/attribute/iattributemanager.h
+++ b/searchlib/src/vespa/searchlib/attribute/iattributemanager.h
@@ -13,6 +13,8 @@ namespace search {
**/
class IAttributeManager {
public:
+ IAttributeManager(const IAttributeManager &) = delete;
+ IAttributeManager & operator = (const IAttributeManager &) = delete;
typedef std::shared_ptr<IAttributeManager> SP;
typedef vespalib::string string;
@@ -51,6 +53,8 @@ public:
* Virtual destructor to allow safe subclassing.
**/
virtual ~IAttributeManager() {}
+protected:
+ IAttributeManager() = default;
};
} // namespace search
diff --git a/searchlib/src/vespa/searchlib/queryeval/nearsearch.h b/searchlib/src/vespa/searchlib/queryeval/nearsearch.h
index 48a3af91a4d..2cf737d41b0 100644
--- a/searchlib/src/vespa/searchlib/queryeval/nearsearch.h
+++ b/searchlib/src/vespa/searchlib/queryeval/nearsearch.h
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <boost/utility.hpp>
#include <vespa/searchlib/fef/termfieldmatchdata.h>
#include <vespa/searchlib/fef/termfieldmatchdataarray.h>
#include "andsearch.h"
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h
index 48ba84fb1e4..391ed14bba2 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h
@@ -28,6 +28,10 @@ public:
virtual void FillRankFeatures(GetDocsumsState * state, IDocsumEnvironment * env) = 0;
virtual void ParseLocation(GetDocsumsState * state) = 0;
virtual ~GetDocsumsStateCallback(void) { }
+ GetDocsumsStateCallback(const GetDocsumsStateCallback &) = delete;
+ GetDocsumsStateCallback & operator = (const GetDocsumsStateCallback &) = delete;
+protected:
+ GetDocsumsStateCallback() = default;
};
/**
diff --git a/storage/src/vespa/storage/common/visitorfactory.h b/storage/src/vespa/storage/common/visitorfactory.h
index ac03057d466..f8911c27e4b 100644
--- a/storage/src/vespa/storage/common/visitorfactory.h
+++ b/storage/src/vespa/storage/common/visitorfactory.h
@@ -8,7 +8,6 @@
*/
#pragma once
-#include <boost/shared_ptr.hpp>
#include <vespa/vdslib/container/parameters.h>
namespace storage {