Features
Public Member Functions | List of all members
features::feature_location_isolation_t Class Reference

#include <features.hpp>

Inheritance diagram for features::feature_location_isolation_t:
Inheritance graph
[legend]
Collaboration diagram for features::feature_location_isolation_t:
Collaboration graph
[legend]

Public Member Functions

 feature_location_isolation_t (feature_id_t n_, feature_id_t m_)
 
feature_names_t generate_independent_features () const
 
feature_names_t generate_or_features () const
 
feature_names_t generate_and_features () const
 
feature_names_t generate_not_features () const
 
feature_names_t generate_or_not_features () const
 
feature_names_t generate_and_not_features () const
 
const feature_names_tindependent_features () const
 
const std::vector< std::string > & or_features () const
 
const std::vector< std::string > & and_features () const
 
const std::vector< std::string > & not_features () const
 
const std::vector< std::string > & or_not_features () const
 
const std::vector< std::string > & and_not_features () const
 
const std::vector< std::string > & all_features () const
 
const features_isolation_t & feature_isolations () const
 
features_isolation_t generate_feature_isolations () const
 
void print_intersections (const std::set< std::string > &s, std::ostream &os=std::cout) const
 
void print_unions (const std::set< std::string > &s, std::ostream &os=std::cout) const
 
void print_results (std::ostream &os=std::cout) const
 
- Public Member Functions inherited from features::feature_location_t
 feature_location_t (feature_id_t n_, feature_id_t m_)
 
const auto & n () const
 
const auto & F () const
 
const auto & S () const
 
const auto & M () const
 
const auto & O () const
 
const auto & A () const
 
const auto & N () const
 
const auto & ON () const
 
const auto & AN () const
 
const auto & DF () const
 
const auto & T () const
 
const auto & D () const
 
feature_names_t generate_independent_features (const std::vector< feature_id_t > &f) const
 
feature_names_t generate_or_features (const std::vector< feature_id_t > &f) const
 
feature_names_t generate_and_features (const std::vector< feature_id_t > &f) const
 
feature_names_t generate_not_features (const std::vector< feature_id_t > &nf) const
 
feature_names_t generate_or_not_features (const std::vector< feature_id_t > &nf) const
 
feature_names_t generate_and_not_features (const std::vector< feature_id_t > &nf) const
 
system_t generate_system (const std::vector< feature_id_t > &f) const
 
systems_t generate_all_systems () const
 
const std::vector< feature_id_t > & raw_independent_features () const
 
const std::vector< std::vector< feature_id_t > > & raw_dependent_features () const
 
const auto & all_systems () const
 
void print_header (std::ostream &os=std::cout)
 
void print_systems (std::ostream &os=std::cout)
 

Detailed Description

Class that performs feature location analysis based on feature isolation. In this approach, no IDs for set differences are created.

Constructor & Destructor Documentation

◆ feature_location_isolation_t()

features::feature_location_isolation_t::feature_location_isolation_t ( feature_id_t  n_,
feature_id_t  m_ 
)
inline

Constructor that requires the number of independent features and the number of the model as parameters.

Here is the call graph for this function:

Member Function Documentation

◆ all_features()

const std::vector<std::string>& features::feature_location_isolation_t::all_features ( ) const
inline

Returns collection with all features.

Here is the caller graph for this function:

◆ and_features()

const std::vector<std::string>& features::feature_location_isolation_t::and_features ( ) const
inline

Returns collection with all and-features.

◆ and_not_features()

const std::vector<std::string>& features::feature_location_isolation_t::and_not_features ( ) const
inline

Returns collection with all and-not-features.

◆ feature_isolations()

const features_isolation_t& features::feature_location_isolation_t::feature_isolations ( ) const
inline

Returns collection with all feature isolations.

Here is the caller graph for this function:

◆ generate_and_features()

feature_names_t features::feature_location_isolation_t::generate_and_features ( ) const
inline

Creates and returns a collection with all names of and-features of all systems of the SPL.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_and_not_features()

feature_names_t features::feature_location_isolation_t::generate_and_not_features ( ) const
inline

Creates and returns a collection with all names of and-not-features of all systems of the SPL.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_feature_isolations()

features_isolation_t features::feature_location_isolation_t::generate_feature_isolations ( ) const
inline

Creates and returns collection with all feature isolations.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_independent_features()

feature_names_t features::feature_location_isolation_t::generate_independent_features ( ) const
inline

Creates and returns a collection with all names of independent features of all systems of the SPL.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_not_features()

feature_names_t features::feature_location_isolation_t::generate_not_features ( ) const
inline

Creates and returns a collection with all names of not-features of all systems of the SPL.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_or_features()

feature_names_t features::feature_location_isolation_t::generate_or_features ( ) const
inline

Creates and returns a collection with all names of or-features of all systems of the SPL.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_or_not_features()

feature_names_t features::feature_location_isolation_t::generate_or_not_features ( ) const
inline

Creates and returns a collection with all names of or-not-features of all systems of the SPL.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ independent_features()

const feature_names_t& features::feature_location_isolation_t::independent_features ( ) const
inline

Returns collection with all independent features.

◆ not_features()

const std::vector<std::string>& features::feature_location_isolation_t::not_features ( ) const
inline

Returns collection with all not-features.

◆ or_features()

const std::vector<std::string>& features::feature_location_isolation_t::or_features ( ) const
inline

Returns collection with all or-features.

◆ or_not_features()

const std::vector<std::string>& features::feature_location_isolation_t::or_not_features ( ) const
inline

Returns collection with all or-not-features.

◆ print_intersections()

void features::feature_location_isolation_t::print_intersections ( const std::set< std::string > &  s,
std::ostream &  os = std::cout 
) const
inline

Prints intersection part, that is the left operand, of set difference. Takes output stream as parameter with std::cout as default value.

Here is the caller graph for this function:

◆ print_results()

void features::feature_location_isolation_t::print_results ( std::ostream &  os = std::cout) const
inline

Prints results of feature isolation. Takes output stream as parameter with std::cout as default value.

Here is the call graph for this function:

◆ print_unions()

void features::feature_location_isolation_t::print_unions ( const std::set< std::string > &  s,
std::ostream &  os = std::cout 
) const
inline

Prints union part, that is the right operand, of set difference. Takes output stream as parameter with std::cout as default value.

Here is the caller graph for this function:

The documentation for this class was generated from the following file: