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_open method. 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 iterator types. 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_type member 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_type member 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().