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 pFIO_StringVectorUtilMod::StringVector_deserialize interface~deserialize_intrinsic pFIO_UtilitiesMod::deserialize_intrinsic proc~stringvector_deserialize->interface~deserialize_intrinsic interface~serialize_buffer_length pFIO_UtilitiesMod::serialize_buffer_length proc~stringvector_deserialize->interface~serialize_buffer_length proc~mapl_return MAPL_ErrorHandlingMod::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_ThrowMod::MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception

Called by

proc~~stringvector_deserialize~~CalledByGraph proc~stringvector_deserialize pFIO_StringVectorUtilMod::StringVector_deserialize proc~filemetadata_deserialize pFIO_FileMetadataMod::FileMetadata_deserialize proc~filemetadata_deserialize->proc~stringvector_deserialize proc~variable_deserialize pFIO_VariableMod::Variable_deserialize proc~filemetadata_deserialize->proc~variable_deserialize proc~stringvariablemap_deserialize pFIO_StringVariableMapUtilMod::StringVariableMap_deserialize proc~filemetadata_deserialize->proc~stringvariablemap_deserialize proc~variable_deserialize->proc~stringvector_deserialize proc~coordinatevariable_deserialize pFIO_CoordinateVariableMod::CoordinateVariable_deserialize proc~coordinatevariable_deserialize->proc~variable_deserialize proc~historycollectionvector_deserialize pFIO_HistoryCollectionVectorUtilMod::HistoryCollectionVector_deserialize proc~historycollectionvector_deserialize->proc~filemetadata_deserialize proc~stringvariablemap_deserialize->proc~variable_deserialize proc~stringvariablemap_deserialize->proc~coordinatevariable_deserialize proc~test_serialize~2 Test_Variable::test_serialize proc~test_serialize~2->proc~variable_deserialize proc~test_serialize~5 Test_FileMetadata::test_serialize proc~test_serialize~5->proc~filemetadata_deserialize proc~test_serialize~4 Test_CoordinateVariable::test_serialize proc~test_serialize~4->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