;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:18:45 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/progmodes/mantemp.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@68 Remove g++ comments surrounding each function and member function.
(defalias 'mantemp-remove-comments #[nil "\212eb\210\300\301!\210\302\303\304\305#\205\306\307!\210\202)\207" [message "Removing comments" re-search-forward "^[A-z.()+0-9: ]*`\\|'.*$" nil t replace-match ""] 4 (#$ . 551)])
#@68 Remove member function extensions so that only class names remain.
(defalias 'mantemp-remove-memfuncs #[nil "\212eb\210\300\301!\210\302\303\304\305\304$\203\306u\210`\307 |\210\202eb\210\300\301!\210\302\310\304\305\304$\2057\311u\210`\307 |\210\202#)\207" [message "Removing member function extensions" re-search-forward "^[A-z :&*<>~=,0-9+]*>::operator " nil t -11 line-end-position "^[A-z :&*<>~=,0-9+]*>::" -2] 5 (#$ . 851)])
#@58 Eliminate all consecutive duplicate lines in the buffer.
(defalias 'mantemp-sort-and-unique-lines #[nil "\212\300\301!\210\302\303\304\305ed%\210eb\210\300\306!\210\307\310\303\311\303$\205-\312y\210\313 \210`\314y\210`|\210\202)\207" [message "Sorting" sort-regexp-fields nil "^.*$" "\\&" "Removing consecutive duplicate lines" re-search-forward "\\(^.+\\)\n\\1" t -1 beginning-of-line 1] 6 (#$ . 1294)])
#@183 Insert C++ syntax around each template class and function.
Insert 'template class' for classes, 'template' for
functions and add the statement delimiter `;' at the end of
the lines.
(defalias 'mantemp-insert-cxx-syntax #[nil "\212eb\210\300\301!\210\302\303\304\305#\203\306c\210`d\232\204\304u\210\202eb\210\300\307!\210\302\310\304\305#\203C\311 \210\312\313!\203=\314c\210\202&\315c\210\202&eb\210\300\316!\210\302\317\304\305\304$\205c\311 \210\320v\210`\320v\210`|\210\202J)\207" [message "Inserting `;' at the ends" re-search-forward ".+$" nil t ";" "Inserting 'template class' for classes" "^.+" beginning-of-line looking-at "struct[\\t ]+\\|class[\\t ]+" "template " "template class " "Inserting 'template' for functions" "^template class [A-z :&*<>~=,0-9+!]*(" 1] 5 (#$ . 1710)])
#@60 Gathering interface to the functions modifying the buffer.
(defalias 'mantemp-make-mantemps #[nil "\300 \210\301 \210\302 \210\303 \207" [mantemp-remove-comments mantemp-remove-memfuncs mantemp-sort-and-unique-lines mantemp-insert-cxx-syntax] 1 (#$ . 2517)])
#@401 Make manual template instantiations from g++ error messages in the buffer.
Scan the output of g++ describing uninstantiated template
classes and functions and generate the corresponding C++
manual template instantiations.  The output is supposed to
have been placed in the current buffer and the current buffer
should otherwise be empty.

See the commentary in file mantemp.el for an example of use.
(defalias 'mantemp-make-mantemps-buffer #[nil "\300 \210\301\302!\207" [mantemp-make-mantemps message "Done"] 2 (#$ . 2783) nil])
#@173 Make manual template instantiations from g++ error messages in the region.
This function does the same thing as `mantemp-make-mantemps-buffer',
but operates on the region.
(defalias 'mantemp-make-mantemps-region #[nil "p\303\304!\305 `{	q\210c\210\306 \210\307 \nq\210c\210\310	!\210+\311\312!\207" [str mantemp-buffer cur-buf generate-new-buffer "*mantemp*" mark mantemp-make-mantemps buffer-string kill-buffer message "Done"] 4 (#$ . 3320) nil])
(provide 'mantemp)
