assign_bar Subroutine

private pure subroutine assign_bar(lhs, rhs)

Initialize bar.

Arguments

Type IntentOptional AttributesName
class(bar_object), intent(inout) :: lhs

Left hand side.

type(bar_object), intent(in) :: rhs

Right hand side.


Source Code


Source Code

   pure subroutine assign_bar(lhs, rhs)
   !< Initialize bar.
   class(bar_object), intent(inout) :: lhs !< Left hand side.
   type(bar_object),  intent(in)    :: rhs !< Right hand side.
   integer(I4P)                     :: s   !< Counter.

   lhs%prefix = rhs%prefix
   lhs%suffix = rhs%suffix
   lhs%bracket_left = rhs%bracket_left
   lhs%bracket_right = rhs%bracket_right
   lhs%empty_char = rhs%empty_char
   lhs%filled_char = rhs%filled_char
   lhs%progress_percent = rhs%progress_percent
   lhs%progress_speed = rhs%progress_speed
   lhs%scale_bar = rhs%scale_bar
   lhs%date_time = rhs%date_time
   if (allocated(lhs%spinner)) then
      do s=1, size(lhs%spinner, dim=1)
         call lhs%spinner(s)%destroy
      enddo
      deallocate (lhs%spinner)
   endif
   if (allocated(rhs%spinner)) then
      allocate(lhs%spinner(1:size(rhs%spinner, dim=1)))
      do s=1, size(rhs%spinner, dim=1)
         lhs%spinner(s) = rhs%spinner(s)
      enddo
   endif
   lhs%width = rhs%width
   lhs%min_value = rhs%min_value
   lhs%max_value = rhs%max_value
   lhs%frequency = rhs%frequency
   lhs%add_scale_bar = rhs%add_scale_bar
   lhs%add_progress_percent = rhs%add_progress_percent
   lhs%add_progress_speed = rhs%add_progress_speed
   lhs%add_date_time = rhs%add_date_time
   lhs%is_stdout_locked_ = rhs%is_stdout_locked_
   endsubroutine assign_bar