Function: c-forward-c++-requires-clause

c-forward-c++-requires-clause is a byte-compiled function defined in cc-engine.el.gz.

Signature

(c-forward-c++-requires-clause &optional LIMIT)

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/cc-engine.el.gz
(defun c-forward-c++-requires-clause (&optional limit)
  ;; Point is at the keyword "requires".  Move forward over the requires
  ;; clause to the next token after it and return non-nil.  If there is no
  ;; valid requires clause at point, leave point unmoved and return nil.
  (let ((here (point))
	final-point)
    (or limit (setq limit (point-max)))
    (if (and
	 (zerop (c-forward-token-2 1 nil limit)) ; over "requires".
	 (prog1
	     (c-forward-primary-expression limit)
	   (setq final-point (point))
	   (while
	       (and (looking-at "\\(?:&&\\|||\\)")
		    (progn (goto-char (match-end 0))
			   (c-forward-syntactic-ws limit)
			   (and (< (point) limit)
				(c-forward-primary-expression limit))))
	     (setq final-point (point)))))
	(progn (goto-char final-point)
	       t)
      (goto-char here)
      nil)))