65.9K
CodeProject is changing. Read more.
Home

Smart List classes

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.40/5 (8 votes)

Nov 23, 1999

CPOL
viewsIcon

69050

downloadIcon

446

Wrapper classes for MFC list classes the extend their functionality

  • Download source - 3 Kb

    Introduction

    This article presents a number of list classes that encapsulate the MFC list classes. This code is in use in production code and has been fully tested. But, should any users out there find any bugs or improvements, please send them to me.

    The code is absolutely free and can be used as you see fit, but just leave my e-mail address in the code. Enjoy.

    The classes

    There are two template classes and one normal class defined here.

    CMyList (template)

    This class is a wrapper for the CList MFC template class. It adds extra functionality and allows its member items to serialise themselves properly (important for schema versioning).

    CMyTypedPtrList (template)

    This class is a wrapper for the CTypedPtrList MFC template class. The items pointed to will be properly deleted thus causing no memory leaks. Use the list just like you would a CObList. For example...
    CMyTypedPtrList<CYourItem> list1(true);
    list1.AddHead(new CYourItem());
    list1.RemoveAll(); // no memory leak!
    

    CMyObList

    This class is a wrapper for the CObList MFC class. The items pointed to will be properly deleted thus causing no memory leaks.

    Updated

    This article was updated April 6, 2000 to include the updates as detailed by Andreas Müller.

  • Smart List classes - CodeProject