//------------------------------------------------------------------------ // // VisList.h // // The CVisList wraps arounda CList, addition a few extra features, // to manage a list of CVisInterace Pointers. It's imporant to note // that it directly deals with the pointers, not copies. If a pointer // is deleted outside of the list, the node will be invalid. // // ------------------------------------------------------------------- // * COPYRIGHT 2001, Greg Ratajik and Ratajik Software * // * All rights Reserved * // ------------------------------------------------------------------- // // 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 2 // 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, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // More information about this program can be found at: // http://www.ratajik.com/VisInterface // C H A N G E L O G // ===================================================================== // Change ID Date Programmer Description // ============ ========= =========== ================================ // 02-05-01 Ratajik Initial Development //------------------------------------------------------------------------ #pragma once #include "VisInterface.h" //------------------------------------------------------------------------ // // Class: CVisList // // Description: List of CVisInterface Pointers. Handy to use to keep a // list of 'em. This is just a CList with a few additional // methods to help use the list. // // Methods // of // Interest: operator += (CVisInterface *) // - Add a Node to the list. // // operator -= (CVisInterface *) // - Remove the passed node from the list. // // RemoveAll() // - Delete ALL pointers in the list, then delete the list // (If you need keep a pointer, save it, use -= to remove // it from the list). // // Find(CVisInterface *) // - Get the position of the passed pointer in the list. // // C H A N G E L O G // =================================================================== // Change ID Date Programmer Description // ============ ========= =========== ================================ // 02-21-01 Ratajik Initial Development //_________________________________________________________________________ class __declspec(dllexport) CVisList : public CList { public: void operator += (CVisInterface * pNewVis); void operator -= (CVisInterface * pOldVis); void RemoveAll(); POSITION Find(CVisInterface* pVisFind); protected: private: };