CBaseCombatWeapon

is a base code class for all holdable weapon entities in Source. From here, each game typically derives into their own game-specific class.