StringVector_deserialize Subroutine

public subroutine StringVector_deserialize(buffer, strVec, rc)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: buffer(:)
type(StringVector), intent(inout) :: strVec
integer, intent(out), optional :: rc

Calls

proc~~stringvector_deserialize~~CallsGraph proc~stringvector_deserialize StringVector_deserialize interface~deserialize_intrinsic deserialize_intrinsic proc~stringvector_deserialize->interface~deserialize_intrinsic interface~serialize_buffer_length serialize_buffer_length proc~stringvector_deserialize->interface~serialize_buffer_length proc~mapl_return MAPL_Return proc~stringvector_deserialize->proc~mapl_return push_back push_back proc~stringvector_deserialize->push_back stringvector stringvector proc~stringvector_deserialize->stringvector at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception

Called by

proc~~stringvector_deserialize~~CalledByGraph proc~stringvector_deserialize StringVector_deserialize proc~filemetadata_deserialize FileMetadata_deserialize proc~filemetadata_deserialize->proc~stringvector_deserialize proc~variable_deserialize Variable_deserialize proc~filemetadata_deserialize->proc~variable_deserialize proc~stringvariablemap_deserialize StringVariableMap_deserialize proc~filemetadata_deserialize->proc~stringvariablemap_deserialize proc~variable_deserialize->proc~stringvector_deserialize proc~coordinatevariable_deserialize CoordinateVariable_deserialize proc~coordinatevariable_deserialize->proc~variable_deserialize proc~historycollectionvector_deserialize HistoryCollectionVector_deserialize proc~historycollectionvector_deserialize->proc~filemetadata_deserialize proc~stringvariablemap_deserialize->proc~variable_deserialize proc~stringvariablemap_deserialize->proc~coordinatevariable_deserialize proc~test_serialize~4 test_serialize proc~test_serialize~4->proc~filemetadata_deserialize proc~test_serialize~5 test_serialize proc~test_serialize~5->proc~variable_deserialize proc~test_serialize~6 test_serialize proc~test_serialize~6->proc~coordinatevariable_deserialize

Source Code

    subroutine StringVector_deserialize(buffer, strVec, rc)
       integer, intent(in) :: buffer(:)
       type (StringVector), intent(inout) :: strVec
       integer, optional, intent(out) :: rc

       character(len=:),allocatable :: str
       integer :: length,n,n1,n0

       n = 1
       call deserialize_intrinsic(buffer(n:),length)
       n0 =  serialize_buffer_length(length)
       n = n + n0
       length = length - n0
       strVec = StringVector() 
       do while (length > 0)
          call deserialize_intrinsic(buffer(n:),str)
          call strVec%push_back(str)
          n1 = serialize_buffer_length(str)
          n = n + n1
          length = length - n1
          deallocate(str)
       enddo
       _RETURN(_SUCCESS)
   end subroutine StringVector_deserialize