CMR  1.3.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
tu::nested_minor_sequence Class Reference

#include <nested_minor_sequence.hpp>

Public Types

enum  extension_type {
  FIRST_EXTENSION_TYPE = -2 , ONE_ROW = -2 , ONE_ROW_TWO_COLUMNS = -1 , ONE_ROW_ONE_COLUMN = 0 ,
  TWO_ROWS_ONE_COLUMN = 1 , ONE_COLUMN = 2 , BEYOND_EXTENSION_TYPE = 3
}
 

Public Member Functions

 nested_minor_sequence ()
 
virtual ~nested_minor_sequence ()
 
void push (extension_type type)
 
extension_type get_extension (size_t index) const
 
size_t get_extension_height (size_t index) const
 
size_t get_extension_width (size_t index) const
 
size_t height () const
 
size_t width () const
 
size_t size () const
 
void resize (size_t new_size)
 

Static Public Member Functions

static size_t get_extension_height (extension_type type)
 
static size_t get_extension_width (extension_type type)
 

Detailed Description

Models a sequence of nested matroid-minors by storing each nesting-step with type and size information.

Member Enumeration Documentation

◆ extension_type

Different types of extensions

Enumerator
FIRST_EXTENSION_TYPE 
ONE_ROW 
ONE_ROW_TWO_COLUMNS 
ONE_ROW_ONE_COLUMN 
TWO_ROWS_ONE_COLUMN 
ONE_COLUMN 
BEYOND_EXTENSION_TYPE 

Constructor & Destructor Documentation

◆ nested_minor_sequence()

tu::nested_minor_sequence::nested_minor_sequence ( )

Constructs a sequence which only consists of a W3-minor.

◆ ~nested_minor_sequence()

tu::nested_minor_sequence::~nested_minor_sequence ( )
virtual

Destructor

Member Function Documentation

◆ get_extension()

extension_type tu::nested_minor_sequence::get_extension ( size_t  index) const
inline

Returns the extension type of a specific minor.

Parameters
indexIndex of the extension. 0 means the extension from W3 to the next
Returns
Extension type

◆ get_extension_height() [1/2]

size_t tu::nested_minor_sequence::get_extension_height ( extension_type  type)
static

Returns the number of rows in an extension of a given type.

Parameters
typeExtension type
Returns
Number of rows

Returns the number of rows in an extension of a given type.

Parameters
extExtension type
Returns
Number of rows

◆ get_extension_height() [2/2]

size_t tu::nested_minor_sequence::get_extension_height ( size_t  index) const
inline

Returns the number of rows in a specific extension

Parameters
indexIndex of the extension. 0 means the extension from W3 to the next
Returns
Number of rows

◆ get_extension_width() [1/2]

size_t tu::nested_minor_sequence::get_extension_width ( extension_type  type)
static

Returns the number of columns in an extension of a given type.

Parameters
typeExtension type
Returns
Number of columns

Returns the number of columns in an extension of a given type.

Parameters
extExtension type
Returns
Number of columns

◆ get_extension_width() [2/2]

size_t tu::nested_minor_sequence::get_extension_width ( size_t  index) const
inline

Returns the number of columns in a specific extension

Parameters
indexIndex of the extension. 0 means the extension from W3 to the next
Returns
Number of columns

◆ height()

size_t tu::nested_minor_sequence::height ( ) const
inline
Returns
Number of rows in the biggest minor

◆ push()

void tu::nested_minor_sequence::push ( extension_type  type)

Augments the sequence with a minor of the specified extension type.

Parameters
typeThe extension type of the biggest minor

◆ resize()

void tu::nested_minor_sequence::resize ( size_t  new_size)
inline

◆ size()

size_t tu::nested_minor_sequence::size ( ) const
inline
Returns
Number of extensions

◆ width()

size_t tu::nested_minor_sequence::width ( ) const
inline
Returns
Number of columns in the biggest minor

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