The Regular Expression Component Library works in these environments:

Borland C++ Builder 3
Borland C++ Builder 4
Borland C++ Builder 5
Borland C++ Builder 6
Visual C++ 6
Visual C++ 7 ( VS .NET 2002 )
Visual C++ 7.1 ( VS .NET 2003 )
Visual C++ 8 ( VS 2005 )
Visual C++ 9 ( VS 2008 )

The library uses a property-method-event model in all the environments in which it works.


In each of the Borland environments the Regular Expression Library is made of VCL ( Visual Component Library ) non-visual components and a non-VCL class. With the components the user of the library can set properties and events at design time using the Object Inspector in C++ Builder, and set and get properties, call methods, and handle events at run time using C++ and the extensions to the C++ language which Borland has created. With the class the user can set and get properties, handle events, which are pointers to global CALLBACK functions or C++ Builder __closures, and call class methods at run time.


In the Visual C++ environment the Regular Expression Library is made of an MFC ( Microsoft Foundation Class ) component and a non-MFC class. The user of the library can set and get properties using data member syntax notation, call class methods at run-time, and set global callback event handlers as properties at run-time.


With Visual C++ 6, the user can set non-static member function event handlers as properties using advanced template callback functionality from the Boost libraries ( http://www.boost.org ) with boost::function and boost::bind, which is distributed with the library.


With Visual C++ 7, 7.1, 8, and 9 non-static member function event handlers use the built-in Microsoft C++ extensions of __event, __hook, and __unhook for event processing.