parameters: (self, val)
docstring: Extract all the necessary information
docstring_summary: Extract all the necessary information
docstring_tokens: Extract all the necessary information
function: def __init__(self, val):
  		"Extract all the necessary information"
  
  		type = val.type
  		if type.code == gdb.TYPE_CODE_REF:
  			type = type.target()
  		self.type = type.unqualified().strip_typedefs()
  		tag = self.type.tag
  		regex = re.compile('\<.*\>')
  		m = regex.findall(tag)[0][1:-1]
  		template_params = m.split(',')
  		template_params = [x.replace(" ", "") for x in template_params]
  
  		self.options = 0
  		if len(template_params) > 1:
  			self.options = template_params[1];
  		
  		self.rowMajor = (int(self.options) & 0x1)
  		
  		self.innerType = self.type.template_argument(0)
  		
  		self.val = val
  
  		self.data = self.val['m_data']
  		self.data = self.data.cast(self.innerType.pointer())
function_tokens: def __init__ ( self , val ) : type = val . type if type . code == gdb . TYPE_CODE_REF : type = type . target ( ) self . type = type . unqualified ( ) . strip_typedefs ( ) tag = self . type . tag regex = re . compile ( '\<.*\>' ) m = regex . findall ( tag ) [ 0 ] [ 1 : - 1 ] template_params = m . split ( ',' ) template_params = [ x . replace ( " " , "" ) for x in template_params ] self . options = 0 if len ( template_params ) > 1 : self . options = template_params [ 1 ] self . rowMajor = ( int ( self . options ) & 0x1 ) self . innerType = self . type . template_argument ( 0 ) self . val = val self . data = self . val [ 'm_data' ] self . data = self . data . cast ( self . innerType . pointer ( ) )