Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Imported upstream 1.9.112

Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com>
  • Loading branch information...
commit 6e873663290b9d63bda6d959915abc9cf90ba590 1 parent fc53b8f
Stefan Naewe authored
Showing with 362 additions and 135 deletions.
  1. +33 −1 CHANGES.txt
  2. +9 −1 HISTORY.txt
  3. +6 −6 INSTALL.txt
  4. +3 −1 NEWS.txt
  5. +4 −4 include/comstl/collections/collection_sequence.hpp
  6. +4 −4 include/comstl/collections/enumerator_sequence.hpp
  7. +4 −4 include/mfcstl/collections/clist_adaptors.hpp
  8. +4 −4 include/mfcstl/collections/clist_traits.hpp
  9. +4 −4 include/stlsoft/internal/cccap/borland.h
  10. +4 −4 include/stlsoft/internal/cccap/como.h
  11. +4 −4 include/stlsoft/internal/cccap/dmc.h
  12. +11 −9 include/stlsoft/internal/cccap/gcc.h
  13. +4 −4 include/stlsoft/internal/cccap/intel.h
  14. +4 −4 include/stlsoft/internal/cccap/msvc.h
  15. +4 −4 include/stlsoft/internal/cccap/mwerks.h
  16. +4 −4 include/stlsoft/internal/cccap/sunpro.h
  17. +4 −4 include/stlsoft/internal/cccap/unknown.h
  18. +4 −4 include/stlsoft/internal/cccap/vectorc.h
  19. +4 −4 include/stlsoft/internal/cccap/watcom.h
  20. +24 −6 include/stlsoft/shims/access/string/std/exception.hpp
  21. +8 −7 include/stlsoft/stlsoft.h
  22. +4 −4 include/stlsoft/util/nulldef.h
  23. +4 −4 include/stlsoft/util/zerodef.h
  24. +4 −4 include/unixstl/filesystem/filesystem_traits.hpp
  25. +107 −28 include/winstl/error/error_desc.hpp
  26. +89 −4 include/winstl/error/error_functions.h
  27. +4 −4 include/winstl/registry/util/defs.hpp
View
34 CHANGES.txt
@@ -2,7 +2,7 @@
STLSoft - Changes
; Created: 29th March 2002
-; Updated: 30th November 2011
+; Updated: 7th February 2012
============================================================================
@@ -18,6 +18,38 @@ STLSoft - Changes
============================================================================
+Changes for 1.9.112 (7th February 2012)
+
+Summary:
+========
+
+ * added winstl_C_format_message_strerror_a(), an analogue of strerror() for Windows API "error" codes
+ * adjusted discrimination of exception-support macros, based on presence of GCC compiler's __EXCEPTIONS symbol
+ * minor VC++ compatibility fix for stlsoft/shims/access/string/std/exception.hpp
+
+Changes:
+========
+
+
+ STLSoft:
+ ========
+
+ ~ stlsoft/internal/cccap/gcc.h:
+ ~ adjusted discrimination of exception-support macros, based on presence of GCC compiler's __EXCEPTIONS symbol
+
+ ~ stlsoft/shims/access/string/std/exception.hpp:
+ ~ VC++-compatibility
+
+ WinSTL:
+ =======
+
+ ~ winstl/error/error_functions.h:
+ + added winstl_C_format_message_strerror_a(), an analogue of strerror() for Windows API "error" codes
+
+
+
+============================================================================
+
Changes for 1.9.111 (30th November 2011)
Summary:
View
10 HISTORY.txt
@@ -2,11 +2,19 @@
STLSoft - History
; Created: 29th March 2002
-; Updated: 30th November 2011
+; Updated: 7th February 2012
============================================================================
+7th February 2012 - 1.9.112 released
+------------------------------------
+
+ * added winstl_C_format_message_strerror_a(), an analogue of strerror() for Windows API "error" codes
+ * adjusted discrimination of exception-support macros, based on presence of GCC compiler's __EXCEPTIONS symbol
+ * minor VC++ compatibility fix for stlsoft/shims/access/string/std/exception.hpp
+
+
30th November 2011 - 1.9.111 released
-------------------------------------
View
12 INSTALL.txt
@@ -2,7 +2,7 @@
STLSoft - Install
; Created: 29th March 2002
-; Updated: 30th November 2011
+; Updated: 7th February 2012
============================================================================
@@ -11,16 +11,16 @@ STLSoft - Install
It is recommended that you define an STLSOFT environment variable.
For example, if you're using UNIX and you install
- to /usr/local/stlsoft/stlsoft-1.9.111 then you should set the environment
- variable STLSOFT to /usr/local/stlsoft/stlsoft-1.9.111 in which case the
+ to /usr/local/stlsoft/stlsoft-1.9.112 then you should set the environment
+ variable STLSOFT to /usr/local/stlsoft/stlsoft-1.9.112 in which case the
file stlsoft/stlsoft.h will be located in
$STLSOFT/include/stlsoft/stlsoft.h
Conversely, if you're using Windows and you intall
- to C:\3pty\STLSoft\stlsoft-1.9.111 then you should set the environment
- variable STLSoft to C:\3pty\STLSoft\stlsoft-1.9.111 in which case the
+ to C:\3pty\STLSoft\stlsoft-1.9.112 then you should set the environment
+ variable STLSoft to C:\3pty\STLSoft\stlsoft-1.9.112 in which case the
file stlsoft/stlsoft.h will be located in
- C:\3pty\STLSoft\stlsoft-1.9.111\stlsoft\stlsoft.h
+ C:\3pty\STLSoft\stlsoft-1.9.112\stlsoft\stlsoft.h
The makefiles / project files of several other open-source projects expect
this symbol, including:
View
4 NEWS.txt
@@ -2,13 +2,15 @@
STLSoft - News
; Created: 29th March 2002
-; Updated: 30th November 2011
+; Updated: 7th February 2012
============================================================================
News:
+ 7th February 2012 - Release of STLSoft 1.9.112
+
30th November 2011 - Release of STLSoft 1.9.111
25th November 2011 - Release of STLSoft 1.9.110
View
8 include/comstl/collections/collection_sequence.hpp
@@ -4,15 +4,15 @@
* Purpose: STL sequence for COM collection interfaces.
*
* Created: 17th September 1998
- * Updated: 10th August 2009
+ * Updated: 3rd February 2012
*
* Thanks: To Eduardo Bezerra and Vivi Orunitia for reporting
* incompatibilities with Borland's 5.82 (Turbo C++). The awful
- * pre-processor hack around retrievalQuanta are the result. ;)
+ * preprocessor hack around retrievalQuanta are the result. ;)
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 1998-2009, Matthew Wilson and Synesis Software
+ * Copyright (c) 1998-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -56,7 +56,7 @@
# define COMSTL_VER_COMSTL_COLLECTIONS_HPP_COLLECTION_SEQUENCE_MAJOR 6
# define COMSTL_VER_COMSTL_COLLECTIONS_HPP_COLLECTION_SEQUENCE_MINOR 1
# define COMSTL_VER_COMSTL_COLLECTIONS_HPP_COLLECTION_SEQUENCE_REVISION 10
-# define COMSTL_VER_COMSTL_COLLECTIONS_HPP_COLLECTION_SEQUENCE_EDIT 103
+# define COMSTL_VER_COMSTL_COLLECTIONS_HPP_COLLECTION_SEQUENCE_EDIT 104
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
View
8 include/comstl/collections/enumerator_sequence.hpp
@@ -4,15 +4,15 @@
* Purpose: STL sequence for IEnumXXXX enumerator interfaces.
*
* Created: 17th September 1998
- * Updated: 17th March 2010
+ * Updated: 3rd February 2012
*
* Thanks: To Eduardo Bezerra and Vivi Orunitia for reporting
* incompatibilities with Borland's 5.82 (Turbo C++). The awful
- * pre-processor hack around retrievalQuanta are the result. ;)
+ * preprocessor hack around retrievalQuanta are the result. ;)
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 1998-2010, Matthew Wilson and Synesis Software
+ * Copyright (c) 1998-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -56,7 +56,7 @@
# define COMSTL_VER_COMSTL_COLLECTIONS_HPP_ENUMERATOR_SEQUENCE_MAJOR 6
# define COMSTL_VER_COMSTL_COLLECTIONS_HPP_ENUMERATOR_SEQUENCE_MINOR 1
# define COMSTL_VER_COMSTL_COLLECTIONS_HPP_ENUMERATOR_SEQUENCE_REVISION 4
-# define COMSTL_VER_COMSTL_COLLECTIONS_HPP_ENUMERATOR_SEQUENCE_EDIT 250
+# define COMSTL_VER_COMSTL_COLLECTIONS_HPP_ENUMERATOR_SEQUENCE_EDIT 251
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
View
8 include/mfcstl/collections/clist_adaptors.hpp
@@ -5,11 +5,11 @@
* class templates.
*
* Created: 1st December 2002
- * Updated: 10th August 2009
+ * Updated: 3rd February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2002-2009, Matthew Wilson and Synesis Software
+ * Copyright (c) 2002-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -53,7 +53,7 @@
# define MFCSTL_VER_MFCSTL_COLLECTIONS_HPP_CLIST_ADAPTORS_MAJOR 3
# define MFCSTL_VER_MFCSTL_COLLECTIONS_HPP_CLIST_ADAPTORS_MINOR 0
# define MFCSTL_VER_MFCSTL_COLLECTIONS_HPP_CLIST_ADAPTORS_REVISION 6
-# define MFCSTL_VER_MFCSTL_COLLECTIONS_HPP_CLIST_ADAPTORS_EDIT 62
+# define MFCSTL_VER_MFCSTL_COLLECTIONS_HPP_CLIST_ADAPTORS_EDIT 63
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -143,7 +143,7 @@ namespace mfcstl_project
* unsafe assumption.
*
* Therefore, the iterator model for the CList_adaptor_base class is Input Iterator.
- * If you wish to use forward iterators, you may specify the pre-processor
+ * If you wish to use forward iterators, you may specify the preprocessor
* symbol _MFCSTL_LIST_ADAPTOR_ENABLE_FWD_ITERATOR, in which case the iterator
* classes will implement copy semantics, rather than the default move
* semantics.
View
8 include/mfcstl/collections/clist_traits.hpp
@@ -4,11 +4,11 @@
* Purpose: Definition of the CList_traits traits class.
*
* Created: 1st December 2002
- * Updated: 10th August 2009
+ * Updated: 3rd February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2002-2009, Matthew Wilson and Synesis Software
+ * Copyright (c) 2002-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -51,7 +51,7 @@
# define MFCSTL_VER_MFCSTL_COLLECTIONS_HPP_CLIST_TRAITS_MAJOR 3
# define MFCSTL_VER_MFCSTL_COLLECTIONS_HPP_CLIST_TRAITS_MINOR 0
# define MFCSTL_VER_MFCSTL_COLLECTIONS_HPP_CLIST_TRAITS_REVISION 1
-# define MFCSTL_VER_MFCSTL_COLLECTIONS_HPP_CLIST_TRAITS_EDIT 57
+# define MFCSTL_VER_MFCSTL_COLLECTIONS_HPP_CLIST_TRAITS_EDIT 58
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -105,7 +105,7 @@ namespace mfcstl_project
* unsafe assumption.
*
* Therefore, the iterator model for the CList class is Input Iterator.
- * If you wish to use forward iterators, you may specify the pre-processor
+ * If you wish to use forward iterators, you may specify the preprocessor
* symbol _MFCSTL_LIST_ADAPTOR_ENABLE_FWD_ITERATOR, in which case the iterator
* classes will implement copy semantics, rather than the default move
* semantics.
View
8 include/stlsoft/internal/cccap/borland.h
@@ -4,14 +4,14 @@
* Purpose: Compiler feature discrimination for Borland C/C++.
*
* Created: 7th February 2003
- * Updated: 14th February 2010
+ * Updated: 3rd February 2012
*
* Thanks to: markitus82 for pointing out overlooking of support for
* __FUNCTION__.
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2010, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -61,7 +61,7 @@
# define STLSOFT_VER_H_STLSOFT_CCCAP_BORLAND_MAJOR 3
# define STLSOFT_VER_H_STLSOFT_CCCAP_BORLAND_MINOR 18
# define STLSOFT_VER_H_STLSOFT_CCCAP_BORLAND_REVISION 2
-# define STLSOFT_VER_H_STLSOFT_CCCAP_BORLAND_EDIT 83
+# define STLSOFT_VER_H_STLSOFT_CCCAP_BORLAND_EDIT 84
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -336,7 +336,7 @@
*/
#if defined(_STLSOFT_CUSTOM_ASSERT)
- /* You have defined the pre-processor symbol _STLSOFT_CUSTOM_ASSERT,
+ /* You have defined the preprocessor symbol _STLSOFT_CUSTOM_ASSERT,
* which stipulates that you will be providing your own assert. This
* requires that you have defined _STLSOFT_CUSTOM_ASSERT() as a macro
* taking 1 parameter (the condition to assert).
View
8 include/stlsoft/internal/cccap/como.h
@@ -4,11 +4,11 @@
* Purpose: Compiler feature discrimination for Comeau C/C++.
*
* Created: 7th February 2003
- * Updated: 14th February 2010
+ * Updated: 3rd February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2010, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -58,7 +58,7 @@
# define STLSOFT_VER_H_STLSOFT_CCCAP_COMO_MAJOR 3
# define STLSOFT_VER_H_STLSOFT_CCCAP_COMO_MINOR 16
# define STLSOFT_VER_H_STLSOFT_CCCAP_COMO_REVISION 2
-# define STLSOFT_VER_H_STLSOFT_CCCAP_COMO_EDIT 68
+# define STLSOFT_VER_H_STLSOFT_CCCAP_COMO_EDIT 69
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -328,7 +328,7 @@
*/
#if defined(_STLSOFT_CUSTOM_ASSERT)
- /* You have defined the pre-processor symbol _STLSOFT_CUSTOM_ASSERT,
+ /* You have defined the preprocessor symbol _STLSOFT_CUSTOM_ASSERT,
* which stipulates that you will be providing your own assert. This
* requires that you have defined _STLSOFT_CUSTOM_ASSERT() as a macro
* taking 1 parameter (the condition to assert).
View
8 include/stlsoft/internal/cccap/dmc.h
@@ -4,11 +4,11 @@
* Purpose: Compiler feature discrimination for Digital Mars C/C++.
*
* Created: 7th February 2003
- * Updated: 14th February 2010
+ * Updated: 3rd February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2010, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -58,7 +58,7 @@
# define STLSOFT_VER_H_STLSOFT_CCCAP_DMC_MAJOR 3
# define STLSOFT_VER_H_STLSOFT_CCCAP_DMC_MINOR 18
# define STLSOFT_VER_H_STLSOFT_CCCAP_DMC_REVISION 2
-# define STLSOFT_VER_H_STLSOFT_CCCAP_DMC_EDIT 91
+# define STLSOFT_VER_H_STLSOFT_CCCAP_DMC_EDIT 92
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -388,7 +388,7 @@
*/
#if defined(_STLSOFT_CUSTOM_ASSERT)
- /* You have defined the pre-processor symbol _STLSOFT_CUSTOM_ASSERT,
+ /* You have defined the preprocessor symbol _STLSOFT_CUSTOM_ASSERT,
* which stipulates that you will be providing your own assert. This
* requires that you have defined _STLSOFT_CUSTOM_ASSERT() as a macro
* taking 1 parameter (the condition to assert).
View
20 include/stlsoft/internal/cccap/gcc.h
@@ -4,13 +4,13 @@
* Purpose: Compiler feature discrimination for GNU C/C++.
*
* Created: 7th February 2003
- * Updated: 14th February 2010
+ * Updated: 5th February 2012
*
* Thanks: To Sergey Nikulov, for PowerPC (BSD) compatibility fixes
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2010, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -58,9 +58,9 @@
#ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
# define STLSOFT_VER_H_STLSOFT_CCCAP_GCC_MAJOR 3
-# define STLSOFT_VER_H_STLSOFT_CCCAP_GCC_MINOR 19
-# define STLSOFT_VER_H_STLSOFT_CCCAP_GCC_REVISION 2
-# define STLSOFT_VER_H_STLSOFT_CCCAP_GCC_EDIT 83
+# define STLSOFT_VER_H_STLSOFT_CCCAP_GCC_MINOR 20
+# define STLSOFT_VER_H_STLSOFT_CCCAP_GCC_REVISION 1
+# define STLSOFT_VER_H_STLSOFT_CCCAP_GCC_EDIT 85
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -243,9 +243,11 @@
*/
#ifdef __cplusplus
-# define STLSOFT_CF_EXCEPTION_SUPPORT
-# define STLSOFT_CF_EXCEPTION_SIGNATURE_SUPPORT
-# define STLSOFT_CF_THROW_BAD_ALLOC
+# ifdef __EXCEPTIONS
+# define STLSOFT_CF_EXCEPTION_SUPPORT
+# define STLSOFT_CF_EXCEPTION_SIGNATURE_SUPPORT
+# define STLSOFT_CF_THROW_BAD_ALLOC
+# endif /* __EXCEPTIONS */
#endif /* __cplusplus */
#ifdef __cplusplus
@@ -534,7 +536,7 @@
*/
#if defined(_STLSOFT_CUSTOM_ASSERT)
- /* You have defined the pre-processor symbol _STLSOFT_CUSTOM_ASSERT,
+ /* You have defined the preprocessor symbol _STLSOFT_CUSTOM_ASSERT,
* which stipulates that you will be providing your own assert. This
* requires that you have defined _STLSOFT_CUSTOM_ASSERT() as a macro
* taking 1 parameter (the condition to assert).
View
8 include/stlsoft/internal/cccap/intel.h
@@ -4,14 +4,14 @@
* Purpose: Compiler feature discrimination for Intel C/C++.
*
* Created: 7th February 2003
- * Updated: 14th February 2010
+ * Updated: 3rd February 2012
*
* Thanks: To Derek Baikie for working on the
* Win64-compatibility.
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2010, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -65,7 +65,7 @@
# define STLSOFT_VER_H_STLSOFT_CCCAP_INTEL_MAJOR 3
# define STLSOFT_VER_H_STLSOFT_CCCAP_INTEL_MINOR 18
# define STLSOFT_VER_H_STLSOFT_CCCAP_INTEL_REVISION 2
-# define STLSOFT_VER_H_STLSOFT_CCCAP_INTEL_EDIT 78
+# define STLSOFT_VER_H_STLSOFT_CCCAP_INTEL_EDIT 79
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -587,7 +587,7 @@
*/
#if defined(_STLSOFT_CUSTOM_ASSERT)
- /* You have defined the pre-processor symbol _STLSOFT_CUSTOM_ASSERT,
+ /* You have defined the preprocessor symbol _STLSOFT_CUSTOM_ASSERT,
* which stipulates that you will be providing your own assert. This
* requires that you have defined _STLSOFT_CUSTOM_ASSERT() as a macro
* taking 1 parameter (the condition to assert).
View
8 include/stlsoft/internal/cccap/msvc.h
@@ -4,14 +4,14 @@
* Purpose: Compiler feature discrimination for Visual C++.
*
* Created: 7th February 2003
- * Updated: 9th June 2010
+ * Updated: 3rd February 2012
*
* Thanks: To Cláudio Albuquerque for working on the
* Win64-compatibility.
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2010, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -65,7 +65,7 @@
# define STLSOFT_VER_H_STLSOFT_CCCAP_MSVC_MAJOR 3
# define STLSOFT_VER_H_STLSOFT_CCCAP_MSVC_MINOR 22
# define STLSOFT_VER_H_STLSOFT_CCCAP_MSVC_REVISION 2
-# define STLSOFT_VER_H_STLSOFT_CCCAP_MSVC_EDIT 117
+# define STLSOFT_VER_H_STLSOFT_CCCAP_MSVC_EDIT 118
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -659,7 +659,7 @@
*/
#if defined(_STLSOFT_CUSTOM_ASSERT)
- /* You have defined the pre-processor symbol _STLSOFT_CUSTOM_ASSERT,
+ /* You have defined the preprocessor symbol _STLSOFT_CUSTOM_ASSERT,
* which stipulates that you will be providing your own assert. This
* requires that you have defined _STLSOFT_CUSTOM_ASSERT() as a macro
* taking 1 parameter (the condition to assert).
View
8 include/stlsoft/internal/cccap/mwerks.h
@@ -4,11 +4,11 @@
* Purpose: Compiler feature discrimination for Metrowerks CodeWarrior.
*
* Created: 7th February 2003
- * Updated: 14th February 2010
+ * Updated: 3rd February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2010, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -58,7 +58,7 @@
# define STLSOFT_VER_H_STLSOFT_CCCAP_MWERKS_MAJOR 3
# define STLSOFT_VER_H_STLSOFT_CCCAP_MWERKS_MINOR 18
# define STLSOFT_VER_H_STLSOFT_CCCAP_MWERKS_REVISION 2
-# define STLSOFT_VER_H_STLSOFT_CCCAP_MWERKS_EDIT 73
+# define STLSOFT_VER_H_STLSOFT_CCCAP_MWERKS_EDIT 74
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -332,7 +332,7 @@
*/
#if defined(_STLSOFT_CUSTOM_ASSERT)
- /* You have defined the pre-processor symbol _STLSOFT_CUSTOM_ASSERT,
+ /* You have defined the preprocessor symbol _STLSOFT_CUSTOM_ASSERT,
* which stipulates that you will be providing your own assert. This
* requires that you have defined _STLSOFT_CUSTOM_ASSERT() as a macro
* taking 1 parameter (the condition to assert).
View
8 include/stlsoft/internal/cccap/sunpro.h
@@ -4,7 +4,7 @@
* Purpose: Compiler feature discrimination for SunPro C / SunPro C++.
*
* Created: 24th April 2008
- * Updated: 21st July 2009
+ * Updated: 3rd February 2012
*
* Thanks to: Jonathan Wakely and Lars Ivar Igesund for help with
* getting STLSoft (and Pantheios) compatible with Solaris.
@@ -13,7 +13,7 @@
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2008-2009, Matthew Wilson and Synesis Software
+ * Copyright (c) 2008-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -63,7 +63,7 @@
# define STLSOFT_VER_H_STLSOFT_CCCAP_SUNPRO_MAJOR 1
# define STLSOFT_VER_H_STLSOFT_CCCAP_SUNPRO_MINOR 0
# define STLSOFT_VER_H_STLSOFT_CCCAP_SUNPRO_REVISION 3
-# define STLSOFT_VER_H_STLSOFT_CCCAP_SUNPRO_EDIT 7
+# define STLSOFT_VER_H_STLSOFT_CCCAP_SUNPRO_EDIT 8
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -378,7 +378,7 @@
*/
#if defined(_STLSOFT_CUSTOM_ASSERT)
- /* You have defined the pre-processor symbol _STLSOFT_CUSTOM_ASSERT,
+ /* You have defined the preprocessor symbol _STLSOFT_CUSTOM_ASSERT,
* which stipulates that you will be providing your own assert. This
* requires that you have defined _STLSOFT_CUSTOM_ASSERT() as a macro
* taking 1 parameter (the condition to assert).
View
8 include/stlsoft/internal/cccap/unknown.h
@@ -4,11 +4,11 @@
* Purpose: Compiler feature discrimination for unknown compilers.
*
* Created: 7th February 2003
- * Updated: 14th February 2010
+ * Updated: 3rd February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2010, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -58,7 +58,7 @@
# define STLSOFT_VER_H_STLSOFT_CCCAP_UNKNOWN_MAJOR 3
# define STLSOFT_VER_H_STLSOFT_CCCAP_UNKNOWN_MINOR 16
# define STLSOFT_VER_H_STLSOFT_CCCAP_UNKNOWN_REVISION 2
-# define STLSOFT_VER_H_STLSOFT_CCCAP_UNKNOWN_EDIT 67
+# define STLSOFT_VER_H_STLSOFT_CCCAP_UNKNOWN_EDIT 68
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -370,7 +370,7 @@
*/
#if defined(_STLSOFT_CUSTOM_ASSERT)
- /* You have defined the pre-processor symbol _STLSOFT_CUSTOM_ASSERT,
+ /* You have defined the preprocessor symbol _STLSOFT_CUSTOM_ASSERT,
* which stipulates that you will be providing your own assert. This
* requires that you have defined _STLSOFT_CUSTOM_ASSERT() as a macro
* taking 1 parameter (the condition to assert).
View
8 include/stlsoft/internal/cccap/vectorc.h
@@ -4,11 +4,11 @@
* Purpose: Compiler feature discrimination for CodePlay Vector C.
*
* Created: 3rd October 2003
- * Updated: 14th February 2010
+ * Updated: 3rd February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2010, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -58,7 +58,7 @@
# define STLSOFT_VER_H_STLSOFT_CCCAP_VECTORC_MAJOR 3
# define STLSOFT_VER_H_STLSOFT_CCCAP_VECTORC_MINOR 18
# define STLSOFT_VER_H_STLSOFT_CCCAP_VECTORC_REVISION 2
-# define STLSOFT_VER_H_STLSOFT_CCCAP_VECTORC_EDIT 59
+# define STLSOFT_VER_H_STLSOFT_CCCAP_VECTORC_EDIT 60
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -302,7 +302,7 @@
*/
#if defined(_STLSOFT_CUSTOM_ASSERT)
- /* You have defined the pre-processor symbol _STLSOFT_CUSTOM_ASSERT,
+ /* You have defined the preprocessor symbol _STLSOFT_CUSTOM_ASSERT,
* which stipulates that you will be providing your own assert. This
* requires that you have defined _STLSOFT_CUSTOM_ASSERT() as a macro
* taking 1 parameter (the condition to assert).
View
8 include/stlsoft/internal/cccap/watcom.h
@@ -4,11 +4,11 @@
* Purpose: Compiler feature discrimination for Watcom C/C++.
*
* Created: 7th February 2003
- * Updated: 14th February 2010
+ * Updated: 3rd February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2010, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -58,7 +58,7 @@
# define STLSOFT_VER_H_STLSOFT_CCCAP_WATCOM_MAJOR 3
# define STLSOFT_VER_H_STLSOFT_CCCAP_WATCOM_MINOR 18
# define STLSOFT_VER_H_STLSOFT_CCCAP_WATCOM_REVISION 2
-# define STLSOFT_VER_H_STLSOFT_CCCAP_WATCOM_EDIT 78
+# define STLSOFT_VER_H_STLSOFT_CCCAP_WATCOM_EDIT 79
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -333,7 +333,7 @@
*/
#if defined(_STLSOFT_CUSTOM_ASSERT)
- /* You have defined the pre-processor symbol _STLSOFT_CUSTOM_ASSERT,
+ /* You have defined the preprocessor symbol _STLSOFT_CUSTOM_ASSERT,
* which stipulates that you will be providing your own assert. This
* requires that you have defined _STLSOFT_CUSTOM_ASSERT() as a macro
* taking 1 parameter (the condition to assert).
View
30 include/stlsoft/shims/access/string/std/exception.hpp
@@ -4,11 +4,11 @@
* Purpose: Contains the string access shims for std::exception.
*
* Created: 2nd May 2003
- * Updated: 29th November 2010
+ * Updated: 5th February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2010, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -51,8 +51,8 @@
#ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
# define _STLSOFT_VER_STLSOFT_SHIMS_ACCESS_STRING_STD_HPP_EXCEPTION_MAJOR 2
# define _STLSOFT_VER_STLSOFT_SHIMS_ACCESS_STRING_STD_HPP_EXCEPTION_MINOR 2
-# define _STLSOFT_VER_STLSOFT_SHIMS_ACCESS_STRING_STD_HPP_EXCEPTION_REVISION 5
-# define _STLSOFT_VER_STLSOFT_SHIMS_ACCESS_STRING_STD_HPP_EXCEPTION_EDIT 41
+# define _STLSOFT_VER_STLSOFT_SHIMS_ACCESS_STRING_STD_HPP_EXCEPTION_REVISION 6
+# define _STLSOFT_VER_STLSOFT_SHIMS_ACCESS_STRING_STD_HPP_EXCEPTION_EDIT 42
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -187,6 +187,15 @@ struct ximpl_stlsoft_shims_access_string_std_exception_
#endif /* STLSOFT_USING_SAFE_STR_FUNCTIONS */
}
+#ifdef STLSOFT_CF_EXCEPTION_SUPPORT
+# if defined(STLSOFT_COMPILER_IS_MSVC)
+# if _MSC_VER >= 1200
+# pragma warning(push)
+# pragma warning(disable : 4702)
+# endif /* _MSC_VER */
+# endif /* compiler */
+#endif /* STLSOFT_CF_EXCEPTION_SUPPORT */
+
static
int
throw_conversion_error_or_return_(
@@ -202,6 +211,15 @@ struct ximpl_stlsoft_shims_access_string_std_exception_
return err;
}
+
+#ifdef STLSOFT_CF_EXCEPTION_SUPPORT
+# if defined(STLSOFT_COMPILER_IS_MSVC)
+# if _MSC_VER >= 1200
+# pragma warning(pop)
+# endif /* _MSC_VER */
+# endif /* compiler */
+#endif /* STLSOFT_CF_EXCEPTION_SUPPORT */
+
};
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
@@ -317,9 +335,9 @@ c_str_len_w(stlsoft_ns_qual_std(exception) const& x)
if(0 != err)
{
- ximpl_stlsoft_shims_access_string_std_exception_::throw_conversion_error_or_return_(err, "failed to elicit length of multibyte string");
-
len = 0;
+
+ ximpl_stlsoft_shims_access_string_std_exception_::throw_conversion_error_or_return_(err, "failed to elicit length of multibyte string");
}
return len;
View
15 include/stlsoft/stlsoft.h
@@ -6,11 +6,11 @@
* types.
*
* Created: 15th January 2002
- * Updated: 30th November 2011
+ * Updated: 7th February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2002-2011, Matthew Wilson and Synesis Software
+ * Copyright (c) 2002-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -54,8 +54,8 @@
#ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
# define STLSOFT_VER_STLSOFT_H_STLSOFT_MAJOR 3
# define STLSOFT_VER_STLSOFT_H_STLSOFT_MINOR 24
-# define STLSOFT_VER_STLSOFT_H_STLSOFT_REVISION 3
-# define STLSOFT_VER_STLSOFT_H_STLSOFT_EDIT 421
+# define STLSOFT_VER_STLSOFT_H_STLSOFT_REVISION 4
+# define STLSOFT_VER_STLSOFT_H_STLSOFT_EDIT 423
#else /* ? STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* # include "./internal/doxygen_defs.h" */
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
@@ -274,12 +274,13 @@
# define _STLSOFT_VER_1_9_109 0x01096dff /*!< Version 1.9.109 (17th February 2011) */
# define _STLSOFT_VER_1_9_110 0x01096eff /*!< Version 1.9.110 (25th November 2011) */
# define _STLSOFT_VER_1_9_111 0x01096fff /*!< Version 1.9.111 (30th November 2011) */
+# define _STLSOFT_VER_1_9_112 0x010970ff /*!< Version 1.9.112 (7th February 2012) */
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
#define _STLSOFT_VER_MAJOR 1
#define _STLSOFT_VER_MINOR 9
-#define _STLSOFT_VER_REVISION 111
-#define _STLSOFT_VER _STLSOFT_VER_1_9_111
+#define _STLSOFT_VER_REVISION 112
+#define _STLSOFT_VER _STLSOFT_VER_1_9_112
/* /////////////////////////////////////////////////////////////////////////
* Basic macros
@@ -660,7 +661,7 @@
# error Intel C/C++, Metrowerks CodeWarrior, Visual C++ and Watcom C/C++
# error compilers are supported by the STLSoft libraries
# error If you want to use the libraries with your compiler, you may specify the
-# error _STLSOFT_FORCE_CUSTOM_COMPILER or _STLSOFT_FORCE_ANY_COMPILER pre-processor
+# error _STLSOFT_FORCE_CUSTOM_COMPILER or _STLSOFT_FORCE_ANY_COMPILER preprocessor
# error symbols.
# error _STLSOFT_FORCE_ANY_COMPILER assumes that your compiler can support all
# error modern C++ compiler features, and causes the inclusion of the compiler
View
8 include/stlsoft/util/nulldef.h
@@ -4,11 +4,11 @@
* Purpose: Include for defining NULL to be the NULL_v template class.
*
* Created: 17th December 2002
- * Updated: 10th August 2009
+ * Updated: 3rd February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2002-2009, Matthew Wilson and Synesis Software
+ * Copyright (c) 2002-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -40,7 +40,7 @@
/** \file stlsoft/util/nulldef.h
*
- * \brief [C++ only] Defines the NULL pre-processor symbol as
+ * \brief [C++ only] Defines the NULL preprocessor symbol as
* stlsoft::NULL_v()
* (\ref group__library__utility "Utility" Library).
*/
@@ -52,7 +52,7 @@
# define STLSOFT_VER_STLSOFT_UTIL_H_NULLDEF_MAJOR 4
# define STLSOFT_VER_STLSOFT_UTIL_H_NULLDEF_MINOR 0
# define STLSOFT_VER_STLSOFT_UTIL_H_NULLDEF_REVISION 3
-# define STLSOFT_VER_STLSOFT_UTIL_H_NULLDEF_EDIT 28
+# define STLSOFT_VER_STLSOFT_UTIL_H_NULLDEF_EDIT 29
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
View
8 include/stlsoft/util/zerodef.h
@@ -4,11 +4,11 @@
* Purpose: Include for defining ZERO to be the ZERO_v template class.
*
* Created: 29th July 2003
- * Updated: 10th August 2009
+ * Updated: 3rd February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2009, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -40,7 +40,7 @@
/** \file stlsoft/util/zerodef.h
*
- * \brief [C++ only] Defines the ZERO pre-processor symbol as
+ * \brief [C++ only] Defines the ZERO preprocessor symbol as
* stlsoft::ZERO_v()
* (\ref group__library__utility "Utility" Library).
*/
@@ -52,7 +52,7 @@
# define STLSOFT_VER_STLSOFT_UTIL_H_ZERODEF_MAJOR 4
# define STLSOFT_VER_STLSOFT_UTIL_H_ZERODEF_MINOR 0
# define STLSOFT_VER_STLSOFT_UTIL_H_ZERODEF_REVISION 2
-# define STLSOFT_VER_STLSOFT_UTIL_H_ZERODEF_EDIT 23
+# define STLSOFT_VER_STLSOFT_UTIL_H_ZERODEF_EDIT 24
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
View
8 include/unixstl/filesystem/filesystem_traits.hpp
@@ -5,16 +5,16 @@
* Unicode specialisations thereof.
*
* Created: 15th November 2002
- * Updated: 25th November 2011
+ * Updated: 3rd February 2012
*
- * Thanks: To Sergey Nikulov, for spotting a pre-processor typo that
+ * Thanks: To Sergey Nikulov, for spotting a preprocessor typo that
* broke GCC -pedantic; to Michal Makowski and Zar Eindl for
* reporting GCC 4.5+ problem with use of NULL in return
* of invalid_file_handle_value().
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2002-2011, Matthew Wilson and Synesis Software
+ * Copyright (c) 2002-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -59,7 +59,7 @@
# define UNIXSTL_VER_UNIXSTL_FILESYSTEM_HPP_FILESYSTEM_TRAITS_MAJOR 4
# define UNIXSTL_VER_UNIXSTL_FILESYSTEM_HPP_FILESYSTEM_TRAITS_MINOR 8
# define UNIXSTL_VER_UNIXSTL_FILESYSTEM_HPP_FILESYSTEM_TRAITS_REVISION 3
-# define UNIXSTL_VER_UNIXSTL_FILESYSTEM_HPP_FILESYSTEM_TRAITS_EDIT 121
+# define UNIXSTL_VER_UNIXSTL_FILESYSTEM_HPP_FILESYSTEM_TRAITS_EDIT 122
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
View
135 include/winstl/error/error_desc.hpp
@@ -4,11 +4,11 @@
* Purpose: Converts a Win32 error code to a printable string.
*
* Created: 13th July 2003
- * Updated: 2nd March 2011
+ * Updated: 6th February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2003-2011, Matthew Wilson and Synesis Software
+ * Copyright (c) 2003-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -52,7 +52,7 @@
# define WINSTL_VER_WINSTL_ERROR_HPP_ERROR_DESC_MAJOR 4
# define WINSTL_VER_WINSTL_ERROR_HPP_ERROR_DESC_MINOR 5
# define WINSTL_VER_WINSTL_ERROR_HPP_ERROR_DESC_REVISION 5
-# define WINSTL_VER_WINSTL_ERROR_HPP_ERROR_DESC_EDIT 83
+# define WINSTL_VER_WINSTL_ERROR_HPP_ERROR_DESC_EDIT 84
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -340,7 +340,9 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline ss_typename_type_ret_k basic_error_desc<C, T>::char_type* basic_error_desc<C, T>::find_message_(
+inline
+ss_typename_type_ret_k basic_error_desc<C, T>::char_type*
+basic_error_desc<C, T>::find_message_(
DWORD flags
, ss_typename_type_k basic_error_desc<C, T>::error_type error
, ss_typename_type_k basic_error_desc<C, T>::char_type const* modulePath
@@ -387,7 +389,11 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline basic_error_desc<C, T>::basic_error_desc(ss_typename_type_k basic_error_desc<C, T>::error_type error /* = ::GetLastError() */, char_type const* modulePath /* = NULL */)
+inline
+basic_error_desc<C, T>::basic_error_desc(
+ ss_typename_type_k basic_error_desc<C, T>::error_type error /* = ::GetLastError() */
+, char_type const* modulePath /* = NULL */
+)
: m_length(0)
, m_message(find_message_(FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM, error, modulePath, &m_length))
{
@@ -404,7 +410,11 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline basic_error_desc<C, T>::basic_error_desc(HRESULT hr, char_type const* modulePath /* = NULL */)
+inline
+basic_error_desc<C, T>::basic_error_desc(
+ HRESULT hr
+, char_type const* modulePath /* = NULL */
+)
: m_length(0)
, m_message(find_message_(FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM, static_cast<DWORD>(hr), modulePath, &m_length))
{
@@ -421,7 +431,8 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline basic_error_desc<C, T>::~basic_error_desc() stlsoft_throw_0()
+inline
+basic_error_desc<C, T>::~basic_error_desc() stlsoft_throw_0()
{
#ifdef STLSOFT_CF_USE_RAW_OFFSETOF_IN_STATIC_ASSERT
STLSOFT_STATIC_ASSERT(STLSOFT_RAW_OFFSETOF(class_type, m_length) < STLSOFT_RAW_OFFSETOF(class_type, m_message));
@@ -438,7 +449,10 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline basic_error_desc<C, T>::basic_error_desc(ss_typename_type_k basic_error_desc<C, T>::class_type& rhs) stlsoft_throw_0()
+inline
+basic_error_desc<C, T>::basic_error_desc(
+ ss_typename_type_k basic_error_desc<C, T>::class_type& rhs
+) stlsoft_throw_0()
{
m_length = rhs.m_length;
rhs.m_length = 0;
@@ -451,7 +465,9 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline ss_typename_type_ret_k basic_error_desc<C, T>::char_type const* basic_error_desc<C, T>::get_description() const
+inline
+ss_typename_type_ret_k basic_error_desc<C, T>::char_type const*
+basic_error_desc<C, T>::get_description() const
{
static const char_type s_nullMessage[1] = { '\0' };
@@ -462,7 +478,9 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline ss_typename_type_ret_k basic_error_desc<C, T>::char_type const* basic_error_desc<C, T>::c_str() const
+inline
+ss_typename_type_ret_k basic_error_desc<C, T>::char_type const*
+basic_error_desc<C, T>::c_str() const
{
return get_description();
}
@@ -473,9 +491,11 @@ template<
, ss_typename_param_k T
>
#if defined(STLSOFT_COMPILER_IS_GCC)
-inline basic_error_desc<C, T>::operator C const* () const
+inline
+basic_error_desc<C, T>::operator C const* () const
#else /* ? compiler */
-inline basic_error_desc<C, T>::operator ss_typename_type_k basic_error_desc<C, T>::char_type const* () const
+inline
+basic_error_desc<C, T>::operator ss_typename_type_k basic_error_desc<C, T>::char_type const* () const
#endif /* compiler */
{
return get_description();
@@ -486,7 +506,9 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline ss_typename_type_ret_k basic_error_desc<C, T>::size_type basic_error_desc<C, T>::length() const stlsoft_throw_0()
+inline
+ss_typename_type_ret_k basic_error_desc<C, T>::size_type
+basic_error_desc<C, T>::length() const stlsoft_throw_0()
{
return m_length;
}
@@ -495,7 +517,9 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline ss_typename_type_ret_k basic_error_desc<C, T>::size_type basic_error_desc<C, T>::size() const stlsoft_throw_0()
+inline
+ss_typename_type_ret_k basic_error_desc<C, T>::size_type
+basic_error_desc<C, T>::size() const stlsoft_throw_0()
{
return length();
}
@@ -504,7 +528,9 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline ss_typename_type_ret_k basic_error_desc<C, T>::bool_type basic_error_desc<C, T>::empty() const stlsoft_throw_0()
+inline
+ss_typename_type_ret_k basic_error_desc<C, T>::bool_type
+basic_error_desc<C, T>::empty() const stlsoft_throw_0()
{
return 0 == length();
}
@@ -525,7 +551,11 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline C const* c_str_ptr_null(winstl_ns_qual(basic_error_desc)<C, T> const& e)
+inline
+C const*
+c_str_ptr_null(
+ winstl_ns_qual(basic_error_desc)<C, T> const& e
+)
{
C const* p = e;
@@ -533,14 +563,22 @@ inline C const* c_str_ptr_null(winstl_ns_qual(basic_error_desc)<C, T> const& e)
}
#ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
template <ss_typename_param_k T>
-inline ws_char_a_t const* c_str_ptr_null_a(winstl_ns_qual(basic_error_desc)<ws_char_a_t, T> const& e)
+inline
+ws_char_a_t const*
+c_str_ptr_null_a(
+ winstl_ns_qual(basic_error_desc)<ws_char_a_t, T> const& e
+)
{
ws_char_a_t const* p = e;
return ('\0' != *e) ? p : NULL;
}
template <ss_typename_param_k T>
-inline ws_char_w_t const* c_str_ptr_null_w(winstl_ns_qual(basic_error_desc)<ws_char_w_t, T> const& e)
+inline
+ws_char_w_t const*
+c_str_ptr_null_w(
+ winstl_ns_qual(basic_error_desc)<ws_char_w_t, T> const& e
+)
{
ws_char_w_t const* p = e;
@@ -556,18 +594,30 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline C const* c_str_ptr(winstl_ns_qual(basic_error_desc)<C, T> const& e)
+inline
+C const*
+c_str_ptr(
+ winstl_ns_qual(basic_error_desc)<C, T> const& e
+)
{
return e.c_str();
}
#ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
template <ss_typename_param_k T>
-inline ws_char_a_t const* c_str_ptr_a(winstl_ns_qual(basic_error_desc)<ws_char_a_t, T> const& e)
+inline
+ws_char_a_t const*
+c_str_ptr_a(
+ winstl_ns_qual(basic_error_desc)<ws_char_a_t, T> const& e
+)
{
return e.c_str();
}
template <ss_typename_param_k T>
-inline ws_char_w_t const* c_str_ptr_w(winstl_ns_qual(basic_error_desc)<ws_char_w_t, T> const& e)
+inline
+ws_char_w_t const*
+c_str_ptr_w(
+ winstl_ns_qual(basic_error_desc)<ws_char_w_t, T> const& e
+)
{
return e.c_str();
}
@@ -581,18 +631,30 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline C const* c_str_data(winstl_ns_qual(basic_error_desc)<C, T> const& e)
+inline
+C const*
+c_str_data(
+ winstl_ns_qual(basic_error_desc)<C, T> const& e
+)
{
return e.c_str();
}
#ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
template <ss_typename_param_k T>
-inline ws_char_a_t const* c_str_data_a(winstl_ns_qual(basic_error_desc)<ws_char_a_t, T> const& e)
+inline
+ws_char_a_t const*
+c_str_data_a(
+ winstl_ns_qual(basic_error_desc)<ws_char_a_t, T> const& e
+)
{
return e.c_str();
}
template <ss_typename_param_k T>
-inline ws_char_w_t const* c_str_data_w(winstl_ns_qual(basic_error_desc)<ws_char_w_t, T> const& e)
+inline
+ws_char_w_t const*
+c_str_data_w(
+ winstl_ns_qual(basic_error_desc)<ws_char_w_t, T> const& e
+)
{
return e.c_str();
}
@@ -606,7 +668,11 @@ template<
ss_typename_param_k C
, ss_typename_param_k T
>
-inline ws_size_t c_str_len(winstl_ns_qual(basic_error_desc)<C, T> const& e)
+inline
+ws_size_t
+c_str_len(
+ winstl_ns_qual(basic_error_desc)<C, T> const& e
+)
{
return e.length();
}
@@ -614,13 +680,21 @@ inline ws_size_t c_str_len(winstl_ns_qual(basic_error_desc)<C, T> const& e)
#ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
template< ss_typename_param_k T
>
-inline ws_size_t c_str_len_a(winstl_ns_qual(basic_error_desc)<ws_char_a_t, T> const& e)
+inline
+ws_size_t
+c_str_len_a(
+ winstl_ns_qual(basic_error_desc)<ws_char_a_t, T> const& e
+)
{
return e.length();
}
template< ss_typename_param_k T
>
-inline ws_size_t c_str_len_w(winstl_ns_qual(basic_error_desc)<ws_char_w_t, T> const& e)
+inline
+ws_size_t
+c_str_len_w(
+ winstl_ns_qual(basic_error_desc)<ws_char_w_t, T> const& e
+)
{
return e.length();
}
@@ -652,7 +726,12 @@ template< ss_typename_param_k S
, ss_typename_param_k C
, ss_typename_param_k T
>
-inline S& operator <<(S& s, winstl_ns_qual(basic_error_desc)<C, T> const& e)
+inline
+S&
+operator <<(
+ S& s
+, winstl_ns_qual(basic_error_desc)<C, T> const& e
+)
{
s << e.get_description();
View
93 include/winstl/error/error_functions.h
@@ -4,11 +4,11 @@
* Purpose: Error functions.
*
* Created: 7th May 2000
- * Updated: 23rd February 2011
+ * Updated: 3rd February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2000-2011, Matthew Wilson and Synesis Software
+ * Copyright (c) 2000-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -50,9 +50,9 @@
#ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
# define WINSTL_VER_WINSTL_ERROR_H_ERROR_FUNCTIONS_MAJOR 4
-# define WINSTL_VER_WINSTL_ERROR_H_ERROR_FUNCTIONS_MINOR 3
+# define WINSTL_VER_WINSTL_ERROR_H_ERROR_FUNCTIONS_MINOR 4
# define WINSTL_VER_WINSTL_ERROR_H_ERROR_FUNCTIONS_REVISION 2
-# define WINSTL_VER_WINSTL_ERROR_H_ERROR_FUNCTIONS_EDIT 66
+# define WINSTL_VER_WINSTL_ERROR_H_ERROR_FUNCTIONS_EDIT 68
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -102,6 +102,34 @@ namespace winstl_project
#ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
+
+
+/**
+ *
+ * \ingroup group__library__error
+ */
+STLSOFT_INLINE
+ws_char_a_t const*
+winstl_C_fmtmsg_empty_reason_unknown_a()
+{
+ static ws_char_a_t const s_reason_unknown[] = "reason unknown";
+
+ return s_reason_unknown;
+}
+
+/**
+ *
+ * \ingroup group__library__error
+ */
+STLSOFT_INLINE
+ws_char_a_t const*
+winstl_C_fmtmsg_empty_string_a()
+{
+ static ws_char_a_t const s_empty[1] = { '\0' };
+
+ return s_empty;
+}
+
/**
*
* \ingroup group__library__error
@@ -799,6 +827,54 @@ STLSOFT_INLINE ws_dword_t winstl_C_format_message_alloc_w(
return res;
}
+/** Functional equivalent to the C standard library
+ * function <code>strerror()</code> for the Windows API, except that the
+ * returned pointer must be freed
+ * (by <code>winstl_C_format_message_free_buff_a()</code>) to avoid
+ * a memory leak.
+ *
+ *
+ * \return Always a non-NULL pointer to a nul-terminated multibyte string.
+ *
+ * \note The returned pointer must be released by a call
+ * to <code>winstl_C_format_message_free_buff_a()</code>
+ */
+STLSOFT_INLINE
+ws_char_a_t*
+winstl_C_format_message_strerror_a(
+ DWORD code
+)
+{
+ ws_char_a_t* p;
+ DWORD const n = winstl_C_format_message_from_module_to_allocated_buffer_a(0, NULL, code, &p, WINSTL_ERROR_FUNCTIONS_ELIDE_DOT | WINSTL_ERROR_FUNCTIONS_ELIDE_DOT_IF_LAST_ONLY);
+
+ if(0 == n)
+ {
+ /* If nothing was retrieved, we try to write a number into it */
+
+ WINSTL_ASSERT(NULL == p);
+
+ p = stlsoft_static_cast(ws_char_a_t*, STLSOFT_NS_GLOBAL(LocalAlloc)(LMEM_FIXED, sizeof(ws_char_a_t) * 21));
+
+ if(NULL == p)
+ {
+ return stlsoft_const_cast(ws_char_a_t*, winstl_C_fmtmsg_empty_reason_unknown_a());
+ }
+ else
+ {
+ wsprintfA(p, "%lu", stlsoft_static_cast(unsigned long, code));
+ }
+ }
+ else
+ {
+ WINSTL_ASSERT(NULL != p);
+ }
+
+ return p;
+}
+
+
+
/**
*
* \ingroup group__library__error
@@ -807,6 +883,15 @@ STLSOFT_INLINE
void
winstl_C_format_message_free_buff_a(ws_char_a_t* buffer)
{
+ if(winstl_C_fmtmsg_empty_reason_unknown_a() == buffer)
+ {
+ return;
+ }
+ if(winstl_C_fmtmsg_empty_reason_unknown_a() == buffer)
+ {
+ return;
+ }
+
winstl_C_fmtmsg_LocalFree__(buffer);
}
View
8 include/winstl/registry/util/defs.hpp
@@ -4,11 +4,11 @@
* Purpose: Contains common type and feature discriminations for the Registry Library.
*
* Created: 19th January 2002
- * Updated: 10th August 2009
+ * Updated: 3rd February 2012
*
* Home: http://stlsoft.org/
*
- * Copyright (c) 2002-2009, Matthew Wilson and Synesis Software
+ * Copyright (c) 2002-2012, Matthew Wilson and Synesis Software
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -51,7 +51,7 @@
# define WINSTL_VER_WINSTL_REGISTRY_UTIL_HPP_DEFS_MAJOR 4
# define WINSTL_VER_WINSTL_REGISTRY_UTIL_HPP_DEFS_MINOR 0
# define WINSTL_VER_WINSTL_REGISTRY_UTIL_HPP_DEFS_REVISION 1
-# define WINSTL_VER_WINSTL_REGISTRY_UTIL_HPP_DEFS_EDIT 56
+# define WINSTL_VER_WINSTL_REGISTRY_UTIL_HPP_DEFS_EDIT 57
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */
/* /////////////////////////////////////////////////////////////////////////
@@ -131,7 +131,7 @@ const ws_size_t CCH_REG_API_AUTO_BUFFER = 512;
/* /////////////////////////////////////////////////////////////////////////
* Typedefs
*
- * All the following typedefs may be overriden by use of the pre-processor.
+ * All the following typedefs may be overriden by use of the preprocessor.
*/
/** \def _WINSTL_REG_STRING_STRING_A_DEFINED
Please sign in to comment.
Something went wrong with that request. Please try again.