1
0
mirror of https://git.savannah.gnu.org/git/gperf.git synced 2025-12-02 21:19:24 +00:00

Move Keyword_List inline methods to a .icc file.

This commit is contained in:
Bruno Haible
2002-12-17 10:55:49 +00:00
parent 21cd7bfd24
commit 2f967d81fb
5 changed files with 81 additions and 5 deletions

View File

@@ -88,7 +88,7 @@ VERSION_H = version.h
OPTIONS_H = options.h options.icc
READ_LINE_H = read-line.h read-line.icc
KEYWORD_H = keyword.h keyword.icc
KEYWORD_LIST_H = keyword-list.h $(KEYWORD_H)
KEYWORD_LIST_H = keyword-list.h keyword-list.icc $(KEYWORD_H)
INPUT_H = input.h $(READ_LINE_H) $(KEYWORD_LIST_H)
BOOL_ARRAY_H = bool-array.h bool-array.icc $(OPTIONS_H)
HASH_TABLE_H = hash-table.h $(KEYWORD_H)

View File

@@ -36,3 +36,12 @@ KeywordExt_List::KeywordExt_List (KeywordExt *car)
: Keyword_List (car)
{
}
#ifndef __OPTIMIZE__
#define INLINE /* not inline */
#include "keyword-list.icc"
#undef INLINE
#endif /* not defined __OPTIMIZE__ */

View File

@@ -35,9 +35,9 @@ public:
Keyword_List (Keyword *car);
/* Access to first element of list. */
Keyword * first () { return _car; }
Keyword * first ();
/* Access to next element of list. */
Keyword_List *& rest () { return _cdr; }
Keyword_List *& rest ();
protected:
Keyword_List * _cdr;
@@ -52,9 +52,17 @@ public:
KeywordExt_List (KeywordExt *car);
/* Access to first element of list. */
KeywordExt * first () { return static_cast<KeywordExt*>(_car); }
KeywordExt * first ();
/* Access to next element of list. */
KeywordExt_List *& rest () { return static_cast<KeywordExt_List*>(_cdr); }
KeywordExt_List *& rest ();
};
#ifdef __OPTIMIZE__
#define INLINE inline
#include "keyword-list.icc"
#undef INLINE
#endif
#endif

53
src/keyword-list.icc Normal file
View File

@@ -0,0 +1,53 @@
/* Inline Functions for keyword-list.{h,cc}.
Copyright (C) 2002 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>.
This file is part of GNU GPERF.
GNU GPERF is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU GPERF is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
If not, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* -------------------------- Keyword_List class --------------------------- */
/* Access to first element of list. */
INLINE Keyword *
Keyword_List::first ()
{
return _car;
}
/* Access to next element of list. */
INLINE Keyword_List *&
Keyword_List::rest ()
{
return _cdr;
}
/* ------------------------- KeywordExt_List class ------------------------- */
/* Access to first element of list. */
INLINE KeywordExt *
KeywordExt_List::first ()
{
return static_cast<KeywordExt*>(_car);
}
/* Access to next element of list. */
INLINE KeywordExt_List *&
KeywordExt_List::rest ()
{
return static_cast<KeywordExt_List*>(_cdr);
}