История изменений
Исправление monk, (текущая версия) :
vector<char, 4> и vector<char, 8>
Это типы, создаваемые по месту.
Так и в CL можно
(defmacro vector-t (elem-type size)
(let (name (symbolicate 'vector- elem-type '- size))
`(or (find-class ,name)
(defclass ,name (vector) ())
(defmethod initialize-instance ((,name ,name) &rest args)
(make-array ,size :element-type ,elem-type :adjustable nil)))))
(defmethod test ((arr-int4 #.(vector-t integer 4)))
...)
Исходная версия monk, :
vector<char, 4> и vector<char, 8>
Это типы, создаваемые по месту.
Так и в CL можно
(defmacro vector-t (elem-type size)
(let (name (symbolicate 'vector- elem-type '- size))
`(or (find-class ,name)
(defclass ,name (vector) ())
(defmethod initialize-instance ((,name ,name) &rest args)
(make-array ,size :element-type ,elem-type :adjustable nil)))))
(defmethod test ((arr-int4 #.(vector integer 4)))
...)