SourceXtractorPlusPlus
0.15
Please provide a description of the project.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
SEImplementation
src
lib
Configuration
AttractorsPartitionConfig.cpp
Go to the documentation of this file.
1
17
/*
18
* @file AttractorsPartitionConfig.cpp
19
* @author nikoapos
20
*/
21
22
#include "
SEImplementation/Configuration/AttractorsPartitionConfig.h
"
23
#include "
SEImplementation/Configuration/PartitionStepConfig.h
"
24
#include "
SEImplementation/Configuration/MinAreaPartitionConfig.h
"
25
26
#include "
SEImplementation/Partition/AttractorsPartitionStep.h
"
27
28
using namespace
Euclid::Configuration;
29
namespace
po = boost::program_options;
30
31
namespace
SourceXtractor {
32
33
static
const
std::string
USE_ATTRACTORS_PARTITION
{
"use-attractors-partition"
};
34
35
AttractorsPartitionConfig::AttractorsPartitionConfig(
long
manager_id) :
Configuration
(manager_id) {
36
declareDependency<PartitionStepConfig>();
37
ConfigManager::getInstance
(manager_id).
registerDependency
<
AttractorsPartitionConfig
,
MinAreaPartitionConfig
>();
38
39
}
40
41
auto
AttractorsPartitionConfig::getProgramOptions
() ->
std::map<std::string, OptionDescriptionList>
{
42
return
{ {
"Extraction"
, {
43
{
USE_ATTRACTORS_PARTITION
.
c_str
(), po::bool_switch(),
44
"Enables the use of attractors for partitioning"
}
45
}}};
46
}
47
48
void
AttractorsPartitionConfig::initialize
(
const
UserValues& args) {
49
if
(args.at(
USE_ATTRACTORS_PARTITION
).as<
bool
>()) {
50
getDependency<PartitionStepConfig>().addPartitionStepCreator(
51
[](
std::shared_ptr<SourceFactory>
source_factory) {
52
return
std::make_shared<AttractorsPartitionStep>(source_factory);
53
}
54
);
55
}
56
}
57
58
}
// SourceXtractor namespace
std::shared_ptr< SourceFactory >
SourceXtractor::AttractorsPartitionConfig::initialize
void initialize(const UserValues &args) override
Definition:
AttractorsPartitionConfig.cpp:48
SourceXtractor::AttractorsPartitionConfig::AttractorsPartitionConfig
AttractorsPartitionConfig(long manager_id)
Definition:
AttractorsPartitionConfig.cpp:35
Euclid::Configuration::ConfigManager::getInstance
static ConfigManager & getInstance(long id)
Euclid::Configuration::ConfigManager::registerDependency
void registerDependency()
Euclid::Configuration::Configuration
MinAreaPartitionConfig.h
AttractorsPartitionStep.h
std::map
STL class.
std::string
STL class.
SourceXtractor::USE_ATTRACTORS_PARTITION
static const std::string USE_ATTRACTORS_PARTITION
Definition:
AttractorsPartitionConfig.cpp:33
std::string::c_str
T c_str(T...args)
AttractorsPartitionConfig.h
SourceXtractor::AttractorsPartitionConfig::getProgramOptions
std::map< std::string, OptionDescriptionList > getProgramOptions() override
Definition:
AttractorsPartitionConfig.cpp:41
PartitionStepConfig.h
SourceXtractor::MinAreaPartitionConfig
Definition:
MinAreaPartitionConfig.h:29
Generated by
1.8.5