noncopyable: switch over from boost

This commit is contained in:
Justin Viiret 2017-03-30 14:37:35 +11:00 committed by Matthew Barr
parent a9844fbf74
commit 1ef87c43ee
22 changed files with 48 additions and 54 deletions

View File

@ -1003,6 +1003,7 @@ SET (hs_SRCS
src/util/math.h src/util/math.h
src/util/multibit_build.cpp src/util/multibit_build.cpp
src/util/multibit_build.h src/util/multibit_build.h
src/util/noncopyable.h
src/util/operators.h src/util/operators.h
src/util/order_check.h src/util/order_check.h
src/util/partial_store.h src/util/partial_store.h

View File

@ -37,9 +37,9 @@
#include "database.h" #include "database.h"
#include "compiler/expression_info.h" #include "compiler/expression_info.h"
#include "parser/Component.h" #include "parser/Component.h"
#include "util/noncopyable.h"
#include <memory> #include <memory>
#include <boost/core/noncopyable.hpp>
struct hs_database; struct hs_database;
struct hs_expr_ext; struct hs_expr_ext;
@ -54,7 +54,7 @@ class NGHolder;
class ReportManager; class ReportManager;
/** \brief Class gathering together the pieces of a parsed expression. */ /** \brief Class gathering together the pieces of a parsed expression. */
class ParsedExpression : boost::noncopyable { class ParsedExpression : noncopyable {
public: public:
ParsedExpression(unsigned index, const char *expression, unsigned flags, ParsedExpression(unsigned index, const char *expression, unsigned flags,
ReportID report, const hs_expr_ext *ext = nullptr); ReportID report, const hs_expr_ext *ext = nullptr);

View File

@ -44,6 +44,7 @@
#include "util/compare.h" #include "util/compare.h"
#include "util/dump_mask.h" #include "util/dump_mask.h"
#include "util/math.h" #include "util/math.h"
#include "util/noncopyable.h"
#include "util/target_info.h" #include "util/target_info.h"
#include "util/ue2string.h" #include "util/ue2string.h"
#include "util/verify_types.h" #include "util/verify_types.h"
@ -62,7 +63,6 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include <boost/core/noncopyable.hpp>
#include <boost/multi_array.hpp> #include <boost/multi_array.hpp>
using namespace std; using namespace std;
@ -71,7 +71,7 @@ namespace ue2 {
namespace { namespace {
class FDRCompiler : boost::noncopyable { class FDRCompiler : noncopyable {
private: private:
const FDREngineDescription &eng; const FDREngineDescription &eng;
const Grey &grey; const Grey &grey;

View File

@ -35,6 +35,7 @@
#include "ue2common.h" #include "ue2common.h"
#include "util/alloc.h" #include "util/alloc.h"
#include "util/compare.h" #include "util/compare.h"
#include "util/noncopyable.h"
#include "util/popcount.h" #include "util/popcount.h"
#include "util/target_info.h" #include "util/target_info.h"
#include "util/verify_types.h" #include "util/verify_types.h"
@ -55,8 +56,6 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include <boost/core/noncopyable.hpp>
using namespace std; using namespace std;
namespace ue2 { namespace ue2 {
@ -65,7 +64,7 @@ namespace {
//#define TEDDY_DEBUG //#define TEDDY_DEBUG
class TeddyCompiler : boost::noncopyable { class TeddyCompiler : noncopyable {
const TeddyEngineDescription &eng; const TeddyEngineDescription &eng;
const Grey &grey; const Grey &grey;
const vector<hwlmLiteral> &lits; const vector<hwlmLiteral> &lits;

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, Intel Corporation * Copyright (c) 2015-2017, Intel Corporation
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
@ -60,8 +60,9 @@
#include "nfa/rdfa.h" #include "nfa/rdfa.h"
#include "nfagraph/ng_mcclellan.h" #include "nfagraph/ng_mcclellan.h"
#include "ue2common.h" #include "ue2common.h"
#include "util/partitioned_set.h"
#include "util/container.h" #include "util/container.h"
#include "util/noncopyable.h"
#include "util/partitioned_set.h"
#include "util/ue2_containers.h" #include "util/ue2_containers.h"
#include <algorithm> #include <algorithm>
@ -71,7 +72,6 @@
#include <vector> #include <vector>
#include <iterator> #include <iterator>
#include <boost/core/noncopyable.hpp>
#include <boost/dynamic_bitset.hpp> #include <boost/dynamic_bitset.hpp>
using namespace std; using namespace std;
@ -84,7 +84,7 @@ struct hopcroft_state_info {
vector<vector<dstate_id_t> > prev; vector<vector<dstate_id_t> > prev;
}; };
struct DFA_components : boost::noncopyable { struct DFA_components : noncopyable {
dstate_id_t nstates; dstate_id_t nstates;
size_t inp_size; size_t inp_size;
set<size_t> work_queue; set<size_t> work_queue;

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, Intel Corporation * Copyright (c) 2015-2017, Intel Corporation
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
@ -33,6 +33,7 @@
#include "mcclellancompile.h" #include "mcclellancompile.h"
#include "ue2common.h" #include "ue2common.h"
#include "util/charreach.h" #include "util/charreach.h"
#include "util/noncopyable.h"
#include "util/order_check.h" #include "util/order_check.h"
#include "util/ue2_containers.h" #include "util/ue2_containers.h"
@ -41,7 +42,6 @@
#include <set> #include <set>
#include <vector> #include <vector>
#include <boost/core/noncopyable.hpp>
#include <boost/graph/adjacency_list.hpp> #include <boost/graph/adjacency_list.hpp>
namespace ue2 { namespace ue2 {
@ -103,7 +103,7 @@ struct GoughSSAVarWithInputs;
struct GoughSSAVarMin; struct GoughSSAVarMin;
struct GoughSSAVarJoin; struct GoughSSAVarJoin;
struct GoughSSAVar : boost::noncopyable { struct GoughSSAVar : noncopyable {
GoughSSAVar(void) : seen(false), slot(INVALID_SLOT) {} GoughSSAVar(void) : seen(false), slot(INVALID_SLOT) {}
virtual ~GoughSSAVar(); virtual ~GoughSSAVar();
const ue2::flat_set<GoughSSAVar *> &get_inputs() const { const ue2::flat_set<GoughSSAVar *> &get_inputs() const {

View File

@ -42,6 +42,7 @@
#include "util/compile_context.h" #include "util/compile_context.h"
#include "util/depth.h" #include "util/depth.h"
#include "util/graph.h" #include "util/graph.h"
#include "util/noncopyable.h"
#include "util/report_manager.h" #include "util/report_manager.h"
#include "util/ue2_containers.h" #include "util/ue2_containers.h"
@ -51,8 +52,6 @@
#include <utility> #include <utility>
#include <vector> #include <vector>
#include <boost/core/noncopyable.hpp>
namespace ue2 { namespace ue2 {
struct CompileContext; struct CompileContext;
@ -62,7 +61,7 @@ class ExpressionInfo;
class RoseBuild; class RoseBuild;
class SmallWriteBuild; class SmallWriteBuild;
class NG : boost::noncopyable { class NG : noncopyable {
public: public:
NG(const CompileContext &in_cc, size_t num_patterns, NG(const CompileContext &in_cc, size_t num_patterns,
unsigned in_somPrecision); unsigned in_somPrecision);

View File

@ -37,9 +37,9 @@
#include "ue2common.h" #include "ue2common.h"
#include "parser/position.h" #include "parser/position.h"
#include "util/noncopyable.h"
#include <memory> #include <memory>
#include <boost/core/noncopyable.hpp>
namespace ue2 { namespace ue2 {
@ -52,7 +52,7 @@ class ParsedExpression;
/** \brief Abstract builder interface. Use \ref makeNFABuilder to construct /** \brief Abstract builder interface. Use \ref makeNFABuilder to construct
* one. Used by GlushkovBuildState. */ * one. Used by GlushkovBuildState. */
class NFABuilder : boost::noncopyable { class NFABuilder : noncopyable {
public: public:
virtual ~NFABuilder(); virtual ~NFABuilder();

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, Intel Corporation * Copyright (c) 2015-2017, Intel Corporation
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
@ -39,7 +39,6 @@
#include "ue2common.h" #include "ue2common.h"
#include <memory> #include <memory>
#include <boost/core/noncopyable.hpp>
namespace ue2 { namespace ue2 {

View File

@ -68,7 +68,6 @@
#include <set> #include <set>
#include <utility> #include <utility>
#include <vector> #include <vector>
#include <boost/core/noncopyable.hpp>
#include <boost/dynamic_bitset.hpp> #include <boost/dynamic_bitset.hpp>
#include <boost/range/adaptor/map.hpp> #include <boost/range/adaptor/map.hpp>

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, Intel Corporation * Copyright (c) 2015-2017, Intel Corporation
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
@ -35,10 +35,10 @@
#include "ue2common.h" #include "ue2common.h"
#include "position.h" #include "position.h"
#include "util/noncopyable.h"
#include <memory> #include <memory>
#include <vector> #include <vector>
#include <boost/core/noncopyable.hpp>
namespace ue2 { namespace ue2 {
@ -49,7 +49,7 @@ class PositionInfo;
* *
* Abstract base class; use \ref makeGlushkovBuildState to get one of these you * Abstract base class; use \ref makeGlushkovBuildState to get one of these you
* can use. */ * can use. */
class GlushkovBuildState : boost::noncopyable { class GlushkovBuildState : noncopyable {
public: public:
/** \brief Represents an uninitialized state. */ /** \brief Represents an uninitialized state. */
static const Position POS_UNINITIALIZED; static const Position POS_UNINITIALIZED;

View File

@ -42,6 +42,7 @@
#include "rose_in_graph.h" #include "rose_in_graph.h"
#include "util/alloc.h" #include "util/alloc.h"
#include "util/charreach.h" #include "util/charreach.h"
#include "util/noncopyable.h"
#include "util/ue2_containers.h" #include "util/ue2_containers.h"
#include "util/ue2string.h" #include "util/ue2string.h"
@ -50,8 +51,6 @@
#include <utility> #include <utility>
#include <vector> #include <vector>
#include <boost/core/noncopyable.hpp>
struct NFA; struct NFA;
struct SmallWriteEngine; struct SmallWriteEngine;
struct RoseEngine; struct RoseEngine;
@ -80,7 +79,7 @@ public:
/** \brief Abstract interface intended for callers from elsewhere in the tree, /** \brief Abstract interface intended for callers from elsewhere in the tree,
* real underlying implementation is RoseBuildImpl in rose_build_impl.h. */ * real underlying implementation is RoseBuildImpl in rose_build_impl.h. */
class RoseBuild : boost::noncopyable { class RoseBuild : noncopyable {
public: public:
virtual ~RoseBuild(); virtual ~RoseBuild();

View File

@ -56,6 +56,7 @@
#include "util/dump_charclass.h" #include "util/dump_charclass.h"
#include "util/graph_range.h" #include "util/graph_range.h"
#include "util/make_unique.h" #include "util/make_unique.h"
#include "util/noncopyable.h"
#include "util/order_check.h" #include "util/order_check.h"
#include "util/report_manager.h" #include "util/report_manager.h"
#include "util/ue2string.h" #include "util/ue2string.h"
@ -68,8 +69,6 @@
#include <vector> #include <vector>
#include <utility> #include <utility>
#include <boost/core/noncopyable.hpp>
using namespace std; using namespace std;
namespace ue2 { namespace ue2 {
@ -77,7 +76,7 @@ namespace ue2 {
/** /**
* \brief Data used by most of the construction code in this file. * \brief Data used by most of the construction code in this file.
*/ */
struct RoseBuildData : boost::noncopyable { struct RoseBuildData : noncopyable {
RoseBuildData(const RoseInGraph &ig_in, bool som_in) RoseBuildData(const RoseInGraph &ig_in, bool som_in)
: ig(ig_in), som(som_in) {} : ig(ig_in), som(som_in) {}

View File

@ -86,6 +86,7 @@
#include "util/graph_range.h" #include "util/graph_range.h"
#include "util/make_unique.h" #include "util/make_unique.h"
#include "util/multibit_build.h" #include "util/multibit_build.h"
#include "util/noncopyable.h"
#include "util/order_check.h" #include "util/order_check.h"
#include "util/popcount.h" #include "util/popcount.h"
#include "util/queue_index_factory.h" #include "util/queue_index_factory.h"
@ -177,7 +178,7 @@ struct RoseResources {
bool has_eod = false; bool has_eod = false;
}; };
struct build_context : boost::noncopyable { struct build_context : noncopyable {
/** \brief information about engines to the left of a vertex */ /** \brief information about engines to the left of a vertex */
map<RoseVertex, left_build_info> leftfix_info; map<RoseVertex, left_build_info> leftfix_info;
@ -237,7 +238,7 @@ struct build_context : boost::noncopyable {
/** \brief Data only used during construction of various programs (literal, /** \brief Data only used during construction of various programs (literal,
* anchored, delay, etc). */ * anchored, delay, etc). */
struct ProgramBuild : boost::noncopyable { struct ProgramBuild : noncopyable {
/** \brief Mapping from vertex to key, for vertices with a /** \brief Mapping from vertex to key, for vertices with a
* CHECK_NOT_HANDLED instruction. */ * CHECK_NOT_HANDLED instruction. */
ue2::unordered_map<RoseVertex, u32> handledKeys; ue2::unordered_map<RoseVertex, u32> handledKeys;

View File

@ -35,17 +35,16 @@
#include "util/alloc.h" #include "util/alloc.h"
#include "util/container.h" #include "util/container.h"
#include "util/multibit_build.h" #include "util/multibit_build.h"
#include "util/noncopyable.h"
#include "util/ue2_containers.h" #include "util/ue2_containers.h"
#include "util/verify_types.h" #include "util/verify_types.h"
#include <vector> #include <vector>
#include <type_traits> #include <type_traits>
#include <boost/core/noncopyable.hpp>
namespace ue2 { namespace ue2 {
class RoseEngineBlob : boost::noncopyable { class RoseEngineBlob : noncopyable {
public: public:
/** \brief Base offset of engine_blob in the Rose engine bytecode. */ /** \brief Base offset of engine_blob in the Rose engine bytecode. */
static constexpr u32 base_offset = ROUNDUP_CL(sizeof(RoseEngine)); static constexpr u32 base_offset = ROUNDUP_CL(sizeof(RoseEngine));

View File

@ -37,11 +37,10 @@
#include "ue2common.h" #include "ue2common.h"
#include "util/alloc.h" #include "util/alloc.h"
#include "util/noncopyable.h"
#include <set> #include <set>
#include <boost/core/noncopyable.hpp>
struct SmallWriteEngine; struct SmallWriteEngine;
namespace ue2 { namespace ue2 {
@ -54,7 +53,7 @@ class ReportManager;
// Abstract interface intended for callers from elsewhere in the tree, real // Abstract interface intended for callers from elsewhere in the tree, real
// underlying implementation is SmallWriteBuildImpl in smwr_build_impl.h. // underlying implementation is SmallWriteBuildImpl in smwr_build_impl.h.
class SmallWriteBuild : boost::noncopyable { class SmallWriteBuild : noncopyable {
public: public:
// Destructor // Destructor
virtual ~SmallWriteBuild(); virtual ~SmallWriteBuild();

View File

@ -36,11 +36,11 @@
#include "ue2common.h" #include "ue2common.h"
#include "nfagraph/ng_holder.h" #include "nfagraph/ng_holder.h"
#include "util/alloc.h" #include "util/alloc.h"
#include "util/noncopyable.h"
#include "util/ue2_containers.h" #include "util/ue2_containers.h"
#include <deque> #include <deque>
#include <memory> #include <memory>
#include <boost/core/noncopyable.hpp>
struct NFA; struct NFA;
@ -54,7 +54,7 @@ struct SlotCache;
/** \brief SOM slot manager. Used to hand out SOM slots and track their /** \brief SOM slot manager. Used to hand out SOM slots and track their
* relationships during SOM construction. Also stores reverse NFAs used for * relationships during SOM construction. Also stores reverse NFAs used for
* SOM. */ * SOM. */
class SomSlotManager : boost::noncopyable { class SomSlotManager : noncopyable {
public: public:
explicit SomSlotManager(u8 precision); explicit SomSlotManager(u8 precision);
~SomSlotManager(); ~SomSlotManager();

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, Intel Corporation * Copyright (c) 2015-2017, Intel Corporation
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
@ -30,13 +30,13 @@
#define BOUNDARY_REPORTS_H #define BOUNDARY_REPORTS_H
#include "ue2common.h" #include "ue2common.h"
#include "util/noncopyable.h"
#include <set> #include <set>
#include <boost/core/noncopyable.hpp>
namespace ue2 { namespace ue2 {
struct BoundaryReports : boost::noncopyable { struct BoundaryReports : noncopyable {
std::set<ReportID> report_at_0; /* set of internal reports to fire std::set<ReportID> report_at_0; /* set of internal reports to fire
* unconditionally at offset 0 */ * unconditionally at offset 0 */
std::set<ReportID> report_at_0_eod; /* set of internal reports to fire std::set<ReportID> report_at_0_eod; /* set of internal reports to fire

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, Intel Corporation * Copyright (c) 2015-2017, Intel Corporation
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
@ -30,13 +30,13 @@
#define PARTITIONED_SET_H #define PARTITIONED_SET_H
#include "container.h" #include "container.h"
#include "noncopyable.h"
#include "ue2_containers.h" #include "ue2_containers.h"
#include "ue2common.h" #include "ue2common.h"
#include <algorithm> #include <algorithm>
#include <vector> #include <vector>
#include <boost/core/noncopyable.hpp>
#include <boost/dynamic_bitset.hpp> #include <boost/dynamic_bitset.hpp>
namespace ue2 { namespace ue2 {
@ -53,7 +53,7 @@ static constexpr size_t INVALID_SUBSET = ~(size_t)0;
*/ */
template<typename T> template<typename T>
class partitioned_set : boost::noncopyable { class partitioned_set : noncopyable {
public: public:
class subset { class subset {
public: public:

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, Intel Corporation * Copyright (c) 2015-2017, Intel Corporation
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
@ -33,12 +33,11 @@
#define UTIL_QUEUE_INDEX_FACTORY_H #define UTIL_QUEUE_INDEX_FACTORY_H
#include "ue2common.h" #include "ue2common.h"
#include "util/noncopyable.h"
#include <boost/core/noncopyable.hpp>
namespace ue2 { namespace ue2 {
class QueueIndexFactory : boost::noncopyable { class QueueIndexFactory : noncopyable {
public: public:
QueueIndexFactory() : val(0) {} QueueIndexFactory() : val(0) {}
u32 get_queue() { return val++; } u32 get_queue() { return val++; }

View File

@ -36,12 +36,12 @@
#include "ue2common.h" #include "ue2common.h"
#include "util/compile_error.h" #include "util/compile_error.h"
#include "util/noncopyable.h"
#include "util/report.h" #include "util/report.h"
#include <map> #include <map>
#include <set> #include <set>
#include <vector> #include <vector>
#include <boost/core/noncopyable.hpp>
namespace ue2 { namespace ue2 {
@ -57,7 +57,7 @@ struct external_report_info {
}; };
/** \brief Tracks Report structures, exhaustion and dedupe keys. */ /** \brief Tracks Report structures, exhaustion and dedupe keys. */
class ReportManager : boost::noncopyable { class ReportManager : noncopyable {
public: public:
explicit ReportManager(const Grey &g); explicit ReportManager(const Grey &g);

View File

@ -31,6 +31,7 @@
#include "ue2common.h" #include "ue2common.h"
#include "util/graph_range.h" #include "util/graph_range.h"
#include "util/noncopyable.h"
#include "util/operators.h" #include "util/operators.h"
#include <boost/functional/hash.hpp> #include <boost/functional/hash.hpp>
@ -156,7 +157,7 @@ namespace ue2 {
namespace graph_detail { namespace graph_detail {
class graph_base : boost::noncopyable { class graph_base : noncopyable {
}; };
struct default_edge_property { struct default_edge_property {