Function: c-looking-at-concept

c-looking-at-concept is a byte-compiled function defined in cc-engine.el.gz.

Signature

(c-looking-at-concept &optional LIMIT)

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/cc-engine.el.gz
(defun c-looking-at-concept (&optional limit)
  ;; Are we currently at the start of a concept construct?  I.e. at the
  ;; "template" keyword followed by the construct?  If so, we return a cons of
  ;; the position of "concept" and the position of the first constraint
  ;; expression following the "=" sign, otherwise we return nil.  LIMIT is a
  ;; forward search limit.
  (save-excursion
    (let (conpos)
      (and (looking-at c-pre-concept-<>-key)
	   (goto-char (match-end 1))
	   (< (point) limit)
	   (progn (c-forward-syntactic-ws limit)
		  (eq (char-after) ?<))
	   (let ((c-parse-and-markup-<>-arglists t)
		 c-restricted-<>-arglists)
	     (c-forward-<>-arglist nil))
	   (< (point) limit)
	   (progn (c-forward-syntactic-ws limit)
		  (looking-at c-equals-nontype-decl-key)) ; "concept"
	   (setq conpos (match-beginning 0))
	   (goto-char (match-end 0))
	   (< (point) limit)
	   (c-syntactic-re-search-forward
	    "=" limit t t)
	   (goto-char (match-end 0))
	   (<= (point) limit)
	   (progn (c-forward-syntactic-ws limit)
		  (cons conpos (point)))))))