TextColumn Derived Type

type, public, abstract :: TextColumn


Inherited by

type~~textcolumn~~InheritedByGraph type~textcolumn TextColumn type~formattedtextcolumn FormattedTextColumn type~formattedtextcolumn->type~textcolumn type~memorytextcolumn MemoryTextColumn type~memorytextcolumn->type~textcolumn type~multicolumn MultiColumn type~multicolumn->type~textcolumn type~textcolumnvector TextColumnVector type~multicolumn->type~textcolumnvector columns type~simpletextcolumn SimpleTextColumn type~simpletextcolumn->type~textcolumn type~vector_wrapper~17 vector_wrapper type~vector_wrapper~17->type~textcolumn item type~namecolumn NameColumn type~namecolumn->type~simpletextcolumn type~profilereporter ProfileReporter type~profilereporter->type~multicolumn type~separatorcolumn SeparatorColumn type~separatorcolumn->type~simpletextcolumn type~textcolumnvector->type~vector_wrapper~17 elements type~textcolumnvectoriterator TextColumnVectorIterator type~textcolumnvectoriterator->type~vector_wrapper~17 elements type~vectorriterator~13 VectorRIterator type~vectorriterator~13->type~textcolumnvectoriterator iterator

Type-Bound Procedures

procedure, public :: center

  • private subroutine center(this, rows, space)

    Arguments

    Type IntentOptional Attributes Name
    class(TextColumn), intent(in) :: this
    character(len=*), intent(inout) :: rows(:)
    character(len=1), intent(in), optional :: space

procedure(i_get_header), public, deferred :: get_header

  • subroutine i_get_header(this, header) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(TextColumn), intent(in) :: this
    character(len=:), intent(out), allocatable :: header(:)

procedure(i_get_num_rows_header), public, deferred :: get_num_rows_header

  • function i_get_num_rows_header(this) result(num_rows) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(TextColumn), intent(in) :: this

    Return Value integer

procedure, public :: get_num_rows_separator

  • private function get_num_rows_separator(this) result(num_rows)

    Arguments

    Type IntentOptional Attributes Name
    class(TextColumn), intent(in) :: this

    Return Value integer

procedure(i_get_rows), public, deferred :: get_rows

  • subroutine i_get_rows(this, node, rows) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(TextColumn), intent(in) :: this
    class(AbstractMeterNode), intent(in), target :: node
    character(len=:), intent(out), allocatable :: rows(:)

procedure, public :: get_separator

  • private subroutine get_separator(this, separator, k)

    Arguments

    Type IntentOptional Attributes Name
    class(TextColumn), intent(in) :: this
    character(len=*), intent(inout) :: separator(k)
    integer, intent(in) :: k

procedure, public :: get_width

  • private function get_width(this) result(column_width)

    Arguments

    Type IntentOptional Attributes Name
    class(TextColumn), intent(in) :: this

    Return Value integer

procedure, public :: set_separator

  • private subroutine set_separator(this, separator)

    Arguments

    Type IntentOptional Attributes Name
    class(TextColumn), intent(inout) :: this
    character(len=1), intent(in) :: separator

procedure, public :: set_width

  • private subroutine set_width(this, column_width)

    Arguments

    Type IntentOptional Attributes Name
    class(TextColumn), intent(inout) :: this
    integer, intent(in) :: column_width

Source Code

   type, abstract :: TextColumn
      private
      integer :: column_width = 0
      character(:), allocatable :: separator
   contains
      procedure :: set_width
      procedure :: get_width
      procedure(i_get_header), deferred :: get_header
      procedure(i_get_num_rows_header), deferred :: get_num_rows_header
      procedure(i_get_rows), deferred :: get_rows
      procedure :: center

      procedure :: set_separator
      procedure :: get_separator
      procedure :: get_num_rows_separator
   end type TextColumn