EXT Library 2.0
The EXT Library is set of various classes, templates and macros that extend functionality
provided by ISO C++, standard C and C++ library, abstracts parts of Windows API and access to
PE file resources.
All of these were first used in real projects, then found very reusable, refactored and packed together
into the EXT Library.
Further details:
The EXT Library parts:
C++ Extensions
- for each
- allows you to use elegant for each construction to iterate over STL containers
- throw error
- elegant solution for local-scope error handling
- ext::accessor
- mapping read-only access to a member variable to a non-static member function call
- ext::vartor
- template for implementing class properties (mapping to read and write member functions)
- ext::single
- template wrapper for accessing on-demand created global instance of a type
- ext::automatic
- template wrapper to bind a destruction function to a type
- ext::range
- utility class template, a representation of inclusive interval with the most useful operations
- ext::range_set
- a sorted container optimized for and dedicated to storing ext::range values
- ext::limited
- limited-range numeric type wrapper that does not overflow nor underflow
- ext::cache
- abstract base container for implementing LRU caches
- ext::echo, ext::wecho
- for conversion of anything to std::string or std::wstring
- ext::parse
- mapping of type to the most suitable C library conversion function
- ext::string_abstraction
- transparent interchange and use of std::strings and std::wstrings
C++ extension helpers:
- ext::policy
- enumerates few policy values that are used to choose specialization of some other templates
- ext::exceptions
- few exception types to support other EXT Library features
Library Extensions
- lib::atexit
- more flexible alternative to std::atexit
- lib::pause
- an alternative to non-portable std::system("pause");
- lib::print
- a type-safe automaticaly converting alternative to std::printf
Windows Templates
- win::process_heap_allocator
- an allocator that allocates from default process heap
- win::version
- access to version informations of executables
- win::service
- base class for service processes and sevice-controller applications
- win::registry
- associative array-like transparent access to registry keys
- win::thread
- template of a thread object based on first-class function
- win::threadc
- template of a thread object based on class and member function
Windows Resources
- res::string
- array-like access to string resources
- res::raw
- associative array-like access to raw resources
- res::lang
- language dependent search for a resource
Author & Copyright
Copyright © 2007, Jan Ringoš, http://www.ringos.cz
The EXT Library is provided 'as-is', without any express or implied warranty. In no event will
the author be held liable for any damages arising from the use of this software. Permission is
granted to anyone to use this software for any purpose, including commercial applications, and
to alter it and redistribute it freely, subject to the following restrictions:
- The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
- Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
- This notice may not be removed or altered from any source distribution.
Jan Ringoš, Tringi@Mx-3.cz
Footnote
The EXT Library is set of tools that made MY life as a programmer easier. Whether they are
useful in general or not is a decision I have to leave up to you.