This library defines classes and functions that are used by other libraries and/or have no other obvious grouping.
The utility components provided by the STLSoft libraries are subdivided into project/library-specific projects, which include:
| Modules | |
| Constraints Utility Library | |
| This library defines classes, functions and macros that act as constraints. | |
| COM Utility Library | |
| This library defines classes and functions for COM that are used by other libraries and/or have no other obvious grouping. | |
| Windows Utility Library | |
| Classes | |
| class | module_scope | 
| Scopes the initialisation and uninitialisation of an ATL module.  More... | |
| struct | CMemoryException_throwing_policy | 
| Memory exception translation policy that ensures CMemoryException* is the thrown type in all cases.  More... | |
| struct | bad_alloc_throwing_policy | 
| Memory exception translation policy that ensures std::bad_alloc is the thrown type in all cases.  More... | |
| class | sinteger64 | 
| Signed 64-bit integer class.  More... | |
| class | pointer_proxy | 
| Acts as a proxy for a pointer.  More... | |
| class | const_pointer_proxy | 
| Acts as a proxy for a pointer-to-const.  More... | |
| class | reference_proxy | 
| Acts as a proxy for a reference.  More... | |
| class | const_reference_proxy | 
| Acts as a proxy for a reference-to-const.  More... | |
| class | value_proxy | 
| Acts as a proxy for a value.  More... | |
| struct | compiler_optimisation_traits | 
| traits class for (current) compiler  More... | |
| class | inert | 
| This class is almost completely unusable, and is used as a placeholder or as a name remover.  More... | |
| struct | integral_printf_traits | 
| Traits for determining the size, in printf-ed form, of the minimum and maximum values of types.  More... | |
| struct | limit_traits | 
| Traits for determining the minimum and maximum values of types.  More... | |
| class | must_init | 
| Wraps a variable and forces its explicit initialisation by the user.  More... | |
| struct | NULL_v | 
| Represents a type that can be an active replacement for NULL.  More... | |
| struct | operator_bool_generator | 
| Template which provides the types and conversion operations for safe and highly-portable "<code>operator bool() const</code>".  More... | |
| class | operator_bool_adaptor | 
| This class is a reverse bolt-in, which provides the "safe" operator bool to its parameterising type, in terms of its is_openmethod.  More... | |
| class | option_verification_exception | 
| Exception thrown by the options_verifier class template.  More... | |
| struct | option_verification_policy | 
| Exception policy for options verification.  More... | |
| class | options_verifier | 
| Verifies that a given variable is equal to one of a set of options.  More... | |
| class | options_verifier_comparison_ref | 
| Acts as a temporary reference to the options_verifier.  More... | |
| struct | pair | 
| Represents a pair.  More... | |
| class | placement_aid | 
| Scopes the lifetime of an object created by placement new.  More... | |
| struct | printf_traits | 
| Traits for determining the size, in printf-ed form, of the minimum and maximum values of types.  More... | |
| struct | sign_traits | 
| Traits for determining the signed, unsigned and alternate-signed type.  More... | |
| struct | int_size_traits | 
| traits type for determining the signed and unsigned forms of a given integral type  More... | |
| class | static_initialiser | 
| static_initialiser  More... | |
| class | api_constructor | 
| Used to initialise APIs.  More... | |
| class | class_constructor | 
| Used to initialise classes.  More... | |
| struct | iterator_base | 
| Base type for iteratortypes.  More... | |
| struct | pointer_iterator | 
| Pointer iterator type.  More... | |
| class | true_typedef | 
| This class is used to create strong types from base types, to facilitate type disambiguation, overloading and mutual incompatibility.  More... | |
| class | unused_return_value_monitor | 
| Return value adaptor for monitoring whether return values are used.  More... | |
| struct | ZERO_v | 
| Represents a type that can be an active replacement for ZERO.  More... | |
| struct | get_undoc_clipboard_fmt__ | 
| get_undoc_clipboard_fmt__  More... | |
| Defines | |
| #define | STLSOFT_DEFINE_OPERATOR_BOOL_TYPES(U, G, B) | 
| Defines the types for a type-safe boolean operator. | |
| #define | stlsoft_iterator_query_category(I, i) (*static_cast<ss_typename_type_k std::iterator_traits<I>::iterator_category*>(0)) | 
| Iterator category obtainer. | |
| Typedefs | |
| typedef must_init< bool > | bool_init_t | 
| Specialisation of must_init for bool. | |
| typedef must_init< char > | char_init_t | 
| Specialisation of must_init for char. | |
| typedef must_init< wchar_t > | wchar_t_init_t | 
| Specialisation of must_init for wchar_t. | |
| typedef must_init< signed char > | signed_char_init_t | 
| Specialisation of must_init for signed char. | |
| typedef must_init< unsigned char > | unsigned_char_init_t | 
| Specialisation of must_init for unsigned char. | |
| typedef must_init< short > | short_init_t | 
| Specialisation of must_init for short. | |
| typedef must_init< unsigned short > | unsigned_short_init_t | 
| Specialisation of must_init for unsigned short. | |
| typedef must_init< int > | int_init_t | 
| Specialisation of must_init for int. | |
| typedef must_init< unsigned int > | unsigned_int_init_t | 
| Specialisation of must_init for unsigned int. | |
| typedef must_init< long > | long_init_t | 
| Specialisation of must_init for long. | |
| typedef must_init< unsigned long > | unsigned_long_init_t | 
| Specialisation of must_init for unsigned long. | |
| typedef must_init< float > | float_init_t | 
| Specialisation of must_init for float. | |
| typedef must_init< double > | double_init_t | 
| Specialisation of must_init for double. | |
| typedef must_init< long double > | long_double_init_t | 
| Specialisation of must_init for long double. | |
| Functions | |
| template<typename T> | |
| void | dispose_set_null (T *&pt) | 
| Disposes the managed type, and resets the pointer. | |
| template<typename C> | |
| void | dispose_contents (C *pc) | 
| Disposes all the items in a container. | |
| template<typename S> | |
| int | system (S const &s) | 
| system() | |
| template<typename S> | |
| ss_typename_type_ret_k string_traits< S >::char_type * | strdup (S const &s) | 
| Duplicates the given string. | |
| char * | strdup (char const *s) | 
| Duplicates the multibyte C-string. | |
| wchar_t * | strdup (wchar_t const *s) | 
| Duplicates the wide C-string. | |
| template<typename A> | |
| pointer_proxy< A > | ptr_proxy (A *a) | 
| Creator function for the pointer_proxy. | |
| template<typename A> | |
| const_pointer_proxy< A > | const_ptr_proxy (A const *a) | 
| Creator function for the const_pointer_proxy. | |
| template<typename A> | |
| reference_proxy< A > | ref_proxy (A &a) | 
| Creator function for the reference_proxy. | |
| template<typename A> | |
| const_reference_proxy< A > | const_ref_proxy (A &a) | 
| Creator function for the const_reference_proxy. | |
| template<typename A> | |
| value_proxy< A > | val_proxy (A a) | 
| Creator function for the value_proxy. | |
| template<typename T> | |
| T const & | minimum (T const &lhs, T const &rhs) | 
| Determines the minimum of two values. | |
| template<typename T> | |
| T const & | maximum (T const &lhs, T const &rhs) | 
| Determines the maximum of two values. | |
| static NULL_v | create () | 
| Static creation. | |
| static ZERO_v | create () | 
| Static creation. | |
| bool | operator== (ZERO_v const &, ss_sint8_t i) | 
| operator == for ZERO_v and integral types | |
| bool | operator== (ss_sint8_t i, ZERO_v const &) | 
| operator == for an integral type and ZERO_v | |
| bool | operator!= (ZERO_v const &, ss_sint8_t i) | 
| operator != for ZERO_v and an integral type | |
| bool | operator!= (ss_sint8_t i, ZERO_v const &) | 
| operator != for an integral type and ZERO_v | |
| template<typename T> | |
| void | zero_struct (T &t) | 
| Initialises all elements of a structure to zero. | |
| template<typename T> | |
| void | init_struct (T &t) | 
| Initialises all members of a structure to zero, and sets the size member to the size of the structure. | |
| #define STLSOFT_DEFINE_OPERATOR_BOOL_TYPES | ( | U, | |||
| G, | |||||
| B | ) | 
Value:
\
    typedef stlsoft_ns_qual(operator_bool_generator)<U>::class_type   G;                            \
    typedef G::return_type                                            B
Defines the types for a type-safe boolean operator, for use in templates.
| U | The Unique type. This is usually the class_typemember type of the class for which we are providing the boolean operator, but it could be any type. | |
| G | The Generator type. This is the type you use to qualify your call to translate() inside the boolean operator | |
| B | The Boolean type. This is the type of the boolean operator | |
| U | The Unique type. This is usually the class_typemember type of the class for which we are providing the boolean operator, but it could be any type. | |
| G | The Generator type. This is the type you use to qualify your call to translate() inside the boolean operator | |
| B | The Boolean type. This is the type of the boolean operator | 
| #define stlsoft_iterator_query_category | ( | I, | |||
| i | ) | (*static_cast<ss_typename_type_k std::iterator_traits<I>::iterator_category*>(0)) | 
Iterator category obtainer.
| I | The iterator type | |
| i | The iterator instance | 
| typedef must_init<bool> bool_init_t | 
Specialisation of must_init for bool. 
| typedef must_init<char> char_init_t | 
Specialisation of must_init for char. 
| typedef must_init<double> double_init_t | 
Specialisation of must_init for double. 
| typedef must_init<float> float_init_t | 
Specialisation of must_init for float. 
| typedef must_init<int> int_init_t | 
Specialisation of must_init for int. 
| typedef must_init<long double> long_double_init_t | 
Specialisation of must_init for long double. 
| typedef must_init<long> long_init_t | 
Specialisation of must_init for long. 
| typedef must_init<short> short_init_t | 
Specialisation of must_init for short. 
| typedef must_init<signed char> signed_char_init_t | 
Specialisation of must_init for signed char. 
| typedef must_init<unsigned char> unsigned_char_init_t | 
Specialisation of must_init for unsigned char. 
| typedef must_init<unsigned int> unsigned_int_init_t | 
Specialisation of must_init for unsigned int. 
| typedef must_init<unsigned long> unsigned_long_init_t | 
Specialisation of must_init for unsigned long. 
| typedef must_init<unsigned short> unsigned_short_init_t | 
Specialisation of must_init for unsigned short. 
| typedef must_init<wchar_t> wchar_t_init_t | 
Specialisation of must_init for wchar_t. 
| const_pointer_proxy<A> stlsoft::const_ptr_proxy | ( | A const * | a | ) |  [inline] | 
Creator function for the const_pointer_proxy.
| const_reference_proxy<A> stlsoft::const_ref_proxy | ( | A & | a | ) |  [inline] | 
Creator function for the const_reference_proxy.
| static ZERO_v create | ( | ) |  [inline, static, inherited] | 
| static NULL_v create | ( | ) |  [inline, static, inherited] | 
| void stlsoft::dotnetstl_project::dispose_contents | ( | C * | pc | ) |  [inline] | 
Disposes all the items in a container.
| pc | The container on whose items to call Dispose(). | 
References stlsoft::dotnetstl_project::dispose_set_null().
| void stlsoft::dotnetstl_project::dispose_set_null | ( | T *& | pt | ) |  [inline] | 
Disposes the managed type, and resets the pointer.
| pt | The pointer on which to call Dispose(). Can be null, but otherwise must be convertible to IDispose | 
Referenced by stlsoft::dotnetstl_project::dispose_contents().
| void winstl::init_struct | ( | T & | t | ) |  [inline] | 
Initialises all members of a structure to zero, and sets the size member to the size of the structure.
References ss_typename_type_k.
| T const& stlsoft::maximum | ( | T const & | lhs, | |
| T const & | rhs | |||
| ) |  [inline] | 
Determines the maximum of two values.
min | T const& stlsoft::minimum | ( | T const & | lhs, | |
| T const & | rhs | |||
| ) |  [inline] | 
Determines the minimum of two values.
min | bool stlsoft::operator!= | ( | ss_sint8_t | i, | |
| ZERO_v const & | ||||
| ) |  [inline] | 
operator != for an integral type and ZERO_v
| bool stlsoft::operator!= | ( | ZERO_v const & | , | |
| ss_sint8_t | i | |||
| ) |  [inline] | 
operator != for ZERO_v and an integral type
| bool stlsoft::operator== | ( | ss_sint8_t | i, | |
| ZERO_v const & | ||||
| ) |  [inline] | 
operator == for an integral type and ZERO_v
| bool stlsoft::operator== | ( | ZERO_v const & | , | |
| ss_sint8_t | i | |||
| ) |  [inline] | 
operator == for ZERO_v and integral types
| pointer_proxy<A> stlsoft::ptr_proxy | ( | A * | a | ) |  [inline] | 
Creator function for the pointer_proxy.
| reference_proxy<A> stlsoft::ref_proxy | ( | A & | a | ) |  [inline] | 
Creator function for the reference_proxy.
| wchar_t* stlsoft::strdup | ( | wchar_t const * | s | ) |  [inline] | 
Duplicates the wide C-string.
| char* stlsoft::strdup | ( | char const * | s | ) |  [inline] | 
Duplicates the multibyte C-string.
| ss_typename_type_ret_k string_traits<S>::char_type* stlsoft::strdup | ( | S const & | s | ) |  [inline] | 
Duplicates the given string.
References stlsoft::c_str_ptr(), and stlsoft_ns_qual.
| int stlsoft::system | ( | S const & | s | ) |  [inline] | 
| value_proxy<A> stlsoft::val_proxy | ( | A | a | ) |  [inline] | 
Creator function for the value_proxy.
| void winstl::zero_struct | ( | T & | t | ) |  [inline] | 
Initialises all elements of a structure to zero.
Referenced by winstl::to_FILETIME(), and winstl::to_SYSTEMTIME().
 1.5.6
 1.5.6