Topic/plat 6697

Added vector function [PLAT}-6697 and concrete implementations plus tests 
Should this class be in this PR? It doesn't appear to be used anywhere.