/*
** Command & Conquer Renegade(tm)
** Copyright 2025 Electronic Arts Inc.
**
** This program 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 3 of the License, or
** (at your option) any later version.
**
** This program 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. If not, see .
*/
/***********************************************************************************************
*** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S ***
***********************************************************************************************
* *
* Project Name : Command & Conquer *
* *
* $Archive:: /Commando/Library/incdec.h $*
* *
* $Author:: Greg_h $*
* *
* $Modtime:: 7/22/97 11:37a $*
* *
* $Revision:: 1 $*
* *
*---------------------------------------------------------------------------------------------*
* Functions: *
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#ifndef INCDEC_H
#define INCDEC_H
/*
** These templates allow enumeration types to have simple bitwise
** arithmatic performed. The operators must be instatiated for the
** enumerated types desired.
*/
template inline T operator ++(T & a)
{
a = (T)((int)a + (int)1);
return(a);
}
template inline T operator ++(T & a, int)
{
T aa = a;
a = (T)((int)a + (int)1);
return(aa);
}
template inline T operator --(T & a)
{
a = (T)((int)a - (int)1);
return(a);
}
template inline T operator --(T & a, int)
{
T aa = a;
a = (T)((int)a - (int)1);
return(aa);
}
#endif