ʻOhana
Population structure, admixture history, and selection using learning methods.
Public Types | Static Public Member Functions
jade::basic_controller_factory< TValue > Class Template Reference

A template for a class that creates controllers that use or do not use Newick trees specified on the command line. More...

#include <jade.controller_factory.hpp>

+ Collaboration diagram for jade::basic_controller_factory< TValue >:

Public Types

typedef TValue value_type
 The value type. More...
 
typedef basic_settings< value_typesettings_type
 The settings type. More...
 
typedef basic_controller< value_typecontroller_type
 The controller type. More...
 
typedef basic_options< value_typeoptions_type
 The options type. More...
 
typedef basic_agi_controller< value_typeagi_controller_type
 The AGI controller type. More...
 
typedef basic_tree_controller< value_typetree_controller_type
 The tree controller type. More...
 
typedef basic_treeless_controller< value_typetreeless_controller_type
 The treeless controller type. More...
 

Static Public Member Functions

static controller_typecreate (const settings_type &settings)
 

Detailed Description

template<typename TValue>
class jade::basic_controller_factory< TValue >

A template for a class that creates controllers that use or do not use Newick trees specified on the command line.

Definition at line 21 of file jade.controller_factory.hpp.

Member Typedef Documentation

◆ agi_controller_type

The AGI controller type.

Definition at line 37 of file jade.controller_factory.hpp.

◆ controller_type

template<typename TValue >
typedef basic_controller<value_type> jade::basic_controller_factory< TValue >::controller_type

The controller type.

Definition at line 31 of file jade.controller_factory.hpp.

◆ options_type

template<typename TValue >
typedef basic_options<value_type> jade::basic_controller_factory< TValue >::options_type

The options type.

Definition at line 34 of file jade.controller_factory.hpp.

◆ settings_type

template<typename TValue >
typedef basic_settings<value_type> jade::basic_controller_factory< TValue >::settings_type

The settings type.

Definition at line 28 of file jade.controller_factory.hpp.

◆ tree_controller_type

The tree controller type.

Definition at line 40 of file jade.controller_factory.hpp.

◆ treeless_controller_type

The treeless controller type.

Definition at line 43 of file jade.controller_factory.hpp.

◆ value_type

template<typename TValue >
typedef TValue jade::basic_controller_factory< TValue >::value_type

The value type.

Definition at line 25 of file jade.controller_factory.hpp.

Member Function Documentation

◆ create()

template<typename TValue >
static controller_type* jade::basic_controller_factory< TValue >::create ( const settings_type settings)
inlinestatic
Returns
A new controller.
Parameters
settingsThe program settings.

Definition at line 48 of file jade.controller_factory.hpp.

50  {
51  const auto & opts = settings.get_options();
52  if (opts.is_tin_specified())
53  return new tree_controller_type(settings);
54  if (opts.is_ain_specified())
55  return new agi_controller_type(settings);
56  else
57  return new treeless_controller_type(settings);
58  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following file:
jade::basic_controller_factory::agi_controller_type
basic_agi_controller< value_type > agi_controller_type
The AGI controller type.
Definition: jade.controller_factory.hpp:37
jade::basic_controller_factory::treeless_controller_type
basic_treeless_controller< value_type > treeless_controller_type
The treeless controller type.
Definition: jade.controller_factory.hpp:43
jade::basic_controller_factory::tree_controller_type
basic_tree_controller< value_type > tree_controller_type
The tree controller type.
Definition: jade.controller_factory.hpp:40