# Source code for fontTools.ttLib.tables._c_v_t

    from fontTools.misc.textTools import safeEval
    from . import DefaultTable
    import sys
    import array

    class table__c_v_t(DefaultTable.DefaultTable):

    	def decompile(self, data, ttFont):
    		values = array.array("h")
    		values.frombytes(data)
    		if sys.byteorder != "big": values.byteswap()
    		self.values = values

    	def compile(self, ttFont):
    		values = self.values[:]
    		if sys.byteorder != "big": values.byteswap()
    		return values.tobytes()

    	def toXML(self, writer, ttFont):
    		for i in range(len(self.values)):
    			value = self.values[i]
    			writer.simpletag("cv", value=value, index=i)
    			writer.newline()

    	def fromXML(self, name, attrs, content, ttFont):
    		if not hasattr(self, "values"):
    			self.values = array.array("h")
    		if name == "cv":
    			index = safeEval(attrs["index"])
    			value = safeEval(attrs["value"])
    			for i in range(1 + index - len(self.values)):
    				self.values.append(0)
    			self.values[index] = value

    	def __len__(self):
    		return len(self.values)

    	def __getitem__(self, index):
    		return self.values[index]

    	def __setitem__(self, index, value):
    		self.values[index] = value

    	def __delitem__(self, index):
    		del self.values[index]