stlsoft Namespace Reference


Detailed Description

The stlsoft namespace contains all components in the STLSoft project, and is the root namespace within which all the other STLSoft sub-projects reside.

Note:
If either/both of the symbols _STLSOFT_NO_NAMESPACES and _STLSOFT_NO_NAMESPACE are defined, all STLSoft components will be defined in the global namespace. The difference between the two is that definition of _STLSOFT_NO_NAMESPACES causes all STLSoft library components (i.e. those of all STLSoft sub-projects) to be defined in the global namespace, whereas _STLSOFT_NO_NAMESPACES has this effect on only those within the main STLSoft project.

This is a vestige of compatibility with compilers with no (or no sensible) namespace support that is maintained for reasons of backwards compatiblity and because it is, in rare circumstances, a useful facility.


Classes

class  array_proxy
 Acts as a proxy for built-in arrays, ensuring functions passed array proxies have safe access to both array pointer and length. More...
class  array_view
 Acts as a view for built-in arrays, ensuring functions passed array proxies have safe access to both array pointer and length, to avoid polymorphic array problems. More...
class  associative_container_veneer
 Applies per-item functions to an associative container's items at its destruction. More...
class  associative_key_sequence
 Adapts an associative container to provide a sequence over the element keys. More...
class  associative_value_sequence
 Instance adaptor that represents an associative collection as a sequence of its values. More...
class  sequence_container_veneer
 Applies a per-item function to a sequence container's items at its destruction. More...
struct  associative_mapped_type_detector
 Detector traits class template for determining the member types of associative containers. More...
struct  collection_tag
 Rootmost tag for a collection. More...
struct  stl_collection_tag
 Indentifies a collection as being an STL collection: it has begin() and end(). More...
class  basic_environment_block
 Stores nul-terminated environment variable name-value strings continguously in a format compatible with system environment settings. More...
class  fixed_array_1d
 1 dimensional fixed array More...
class  fixed_array_2d
 2 dimensional fixed array More...
class  fixed_array_3d
 3 dimensional fixed array More...
class  fixed_array_4d
 4 dimensional fixed array More...
class  frequency_map
 A container that measures the frequency of the unique elements it contains. More...
class  pod_vector
 Efficient vector class for use with POD types only. More...
class  static_array_1d
 1 dimensional static array More...
class  static_array_2d
 2 dimensional static array More...
class  static_array_3d
 3 dimensional static array More...
class  static_array_4d
 4 dimensional static array More...
class  unsorted_map
 An associative container that maintains the order of element insertion. More...
struct  do_construction
 Traits class that controls whether elements in STLSoft arrays are in-place constructed and destroyed. More...
struct  do_construction_always
 Stipulates that array elements are always constructed. More...
struct  do_construction_never
 Stipulates that array elements are never constructed. More...
struct  do_initialisation_never
 Stipulates that array elements are never initialised in any way. More...
struct  any_caster_invalid_type
 Helper class used by any_caster, to define invalid conversions. More...
union  any_caster
 A dangerous, but sometimes necessary, tool for handling bad libraries. More...
class  multibyte2wide
 Converts a multibyte (char-based) string to a wide (whar_t-based) string. More...
class  wide2multibyte
 Converts a wide (whar_t-based) string to a multibyte (char-based) string. More...
class  explicit_cast
 This class is used to provide explicit casting operators. More...
class  explicit_cast< T & >
 Being able to cast to non-const references does not work, since the compilers will refuse to apply such to a temporary. More...
class  explicit_cast< T * >
 Not sure I really like this one, and reserve the right to remove it but for now it stays. More...
class  literal_cast
 Provides compile-time validation for casts of literal values. More...
class  literal_cast< invalid_int_t, V >
 Partial specialisation to. More...
struct  ptr_cast
 A cast that throws bad_cast for pointer cast failures, as well as for reference casts. More...
union  union_caster
 Cast class used by the union_cast cast function. More...
class  active_end_iterator_exhaustion
 An exception thrown when an active end iterator is exhausted. More...
class  contract_violation
 Thrown when a contract has been violated. More...
class  conversion_error_base
 Root. More...
class  conversion_error
 Represents a failed conversion. More...
class  errno_scope
 A scoping class that scopes the thread's last error. More...
class  basic_error_desc
 Utility class that loads the system string representation corresponding to a given error code. More...
class  external_iterator_invalidation
 An exception thrown when an active end iterator is exhausted. More...
class  iteration_interruption
 An exception thrown when an active iterator is interrupted, by the underlying range changing outside direct control by the current thread of execution. More...
class  os_exception
 Root exception class for sub-project platform-specific exceptions. More...
class  project_exception
 Root exception class for sub-project platform-specific exceptions. More...
struct  null_exception_policy
 The no-throwing exception policy. More...
struct  throw_exception_policy
 The throwing exception policy. More...
class  unrecoverable
 Unrecoverable exception class. More...
struct  read_line_flags
 Flags that moderate the behaviour of the stlsoft::read_line() function. More...
class  searchspec_sequence
 Provides multi-pattern functionality over a file-system search sequence class. More...
struct  any_of_tester
 Composite predicate providing logical OR for two individual predicate types. More...
struct  all_of_tester
 Composite predicate providing logical AND for two individual predicate types. More...
struct  equal_ptr
 Predicate used to test the equivalence of pointers. More...
struct  unary_fastcall_function_pointer
 A unary function adaptor for pointers to functions with FastCall (__fastcall) calling convention. More...
struct  binary_fastcall_function_pointer
 A binary function adaptor for pointers to functions with FastCall (__fastcall) calling convention. More...
struct  unary_stdcall_function_pointer
 A unary function adaptor for pointers to functions with StdCall (__stdcall) calling convention. More...
struct  binary_stdcall_function_pointer
 A binary function adaptor for pointers to functions with StdCall (__stdcall) calling convention. More...
struct  ref2ptr_1_FASTCALL_t
struct  ref2ptr_1_STDCALL_t
struct  fastcall_mem_fun_t
 A function class that invokes a fastcall calling convention 0-parameter mutating (non-const) member function on its pointer argument. More...
struct  fastcall_mem_fun_const_t
 A function class that invokes a fastcall calling convention 0-parameter non-mutating (const) member function on its pointer argument. More...
struct  stdcall_mem_fun_t
 A function class that invokes a stdcall calling convention 0-parameter mutating (non-const) member function on its pointer argument. More...
struct  stdcall_mem_fun_const_t
 A function class that invokes a stdcall calling convention 0-parameter non-mutating (const) member function on its pointer argument. More...
struct  fastcall_mem_fun_ref_t
 A function class that invokes a fastcall calling convention 0-parameter mutating (non-const) member function on its pointer argument. More...
struct  fastcall_mem_fun_ref_const_t
 A function class that invokes a fastcall calling convention 0-parameter non-mutating (const) member function on its pointer argument. More...
struct  stdcall_mem_fun_ref_t
 A function class that invokes a stdcall calling convention 0-parameter mutating (non-const) member function on its pointer argument. More...
struct  stdcall_mem_fun_ref_const_t
 A function class that invokes a stdcall calling convention 0-parameter non-mutating (const) member function on its pointer argument. More...
struct  noop_function
 This functional performs no operation at all, and is simply a place-holder. More...
struct  unary_procedure_adaptor
 Adapts a unary function into a unary procedure - one in which the return type of the function call operator is void. More...
struct  binary_procedure_adaptor
 Adapts a biary function into a unary procedure - one in which the return type of the function call operator is void. More...
struct  adapted_iterator_traits
 Traits for adapted_iterator_traits. More...
struct  select_first
 Selects the first member of the type to which it is applied. More...
struct  select_second
 Selects the first second of the type to which it is applied. More...
class  associative_select_iterator
 An iterator adaptor that uses a select functor on its base iterator in order to obtain the value_type. More...
struct  c_str_ptr_extract_iterator
 This iterator adaptor translates the values assigned to it via the c_str_ptr access shim, and passes the result to the function on which it's parameterised. More...
class  contiguous_diluter_iterator
 An iterator adaptor class for use with Contiguous Iterators, to dilute the iterator category to BiDirectional or lesser. More...
class  cstring_concatenator_iterator
 This output iterator adaptor template wraps a C-style string pointer as an output iterator, to enable a C-style string to be built up as a result of the application of an algorithm. More...
class  filter_iterator
 An iterator adaptor that uses a predicate to filter desired values from the iterator's underlying sequence. More...
class  index_iterator
 An indexed iterator class. More...
class  indirect_reverse_iterator
 This class template provides the same services as std::reverse_iterator, but uses pointers in order to facilitate reverse adaptation of incompletely defined types, such as forward-declared member classes. More...
class  member_selector_iterator
 An iterator adaptor class template that presents a member of the underlying iterator's value type as the apparent value type. More...
struct  msi_traits
 Traits class used for specifying sub-types for the member_selector() creator function(s). More...
class  null_output_iterator
 Null Object pattern applied to the Output Iterator concept. More...
class  ostream_iterator
 Enhanced functionality over std::ostream_iterator. More...
class  string_concatenator_iterator
 This output iterator adaptor template wraps a C-style string pointer as an output iterator, to enable a C-style string to be built up as a result of the application of an algorithm. More...
class  transform_iterator
 An iterator adaptor that uses a predicate to filter desired values from the iterator's underlying sequence. More...
struct  unary_function_output_iterator_adaptor
 This class adapts a Unary Function into an OutputIterator, using CRTP/SCTP. More...
class  allocator_base
 STL Allocator base class adaptor, providing much of the boilerplate functionality of an STL-compliant Allocator class. More...
struct  allocator_selector
 Type generator class template that selects an appropriate allocator specialisation for the given type. More...
class  auto_buffer
 This class provides an efficient variable automatic buffer. More...
struct  move_proxy
 A simple proxy class that supports the movement of pointers between the various destructor classes. More...
class  auto_destructor
 This class acts as an automatic frame scope variable that manages heap-allocated object instances. More...
class  auto_array_destructor
 This class acts as an automatic frame scope variable that manages heap-allocated object arrays. More...
class  return_value_destructor
 This class acts as a return-value scope variable that manages heap-allocated object instances. More...
class  return_value_array_destructor
 This class acts as a return-value scope variable that manages heap-allocated object arrays. More...
class  malloc_allocator
 STL Allocator based on the C runtime malloc() & free() functions. More...
class  new_allocator
 STL Allocator based on operators new and delete. More...
class  null_allocator
 STL Allocator that fails all allocation requests. More...
struct  add_const
 Adds const qualifier to a type. More...
struct  add_volatile
 Adds volatile qualifier to a type. More...
struct  add_const_ref
 Adds const& qualifier to a type. More...
struct  add_volatile_ref
 Adds volatile& qualifier to a type. More...
struct  base_type_traits
 Deduces the base type. More...
struct  has_const_iterator
 traits type used to determine whether a given type has a member const_iterator More...
struct  has_const_pointer
 traits type used to determine whether a given type has a member const_pointer More...
struct  has_const_reference
 traits type used to determine whether a given type has a member const_reference More...
struct  has_difference_type
 traits type used to determine whether a given type has a member difference_type More...
struct  has_distance_type
 traits type used to determine whether a given type has a member distance_type More...
struct  has_iterator
 traits type used to determine whether a given type has a member iterator More...
struct  has_iterator_category
 traits type used to determine whether a given type has a member iterator_category More...
struct  has_key_type
 traits type used to determine whether a given type has a member key_type More...
struct  has_mapped_type
 traits type used to determine whether a given type has a member mapped_type More...
struct  has_pointer
 traits type used to determine whether a given type has a member pointer More...
struct  has_pointer_type
 traits type used to determine whether a given type has a member pointer_type More...
struct  has_reference_type
 traits type used to determine whether a given type has a member reference_type More...
struct  has_referent_type
 traits type used to determine whether a given type has a member referent_type More...
struct  has_value_type
 traits type used to determine whether a given type has a member value_type More...
struct  is_array_type
 traits type used to determine whether the given type is an array More...
struct  is_bool_type
 Traits type used to determine whether the given type is bool. More...
struct  is_character_type
 Traits type used to determine whether the given type is a character type (i.e. More...
struct  is_char_type
 Obsolete form of is_character_type. More...
struct  is_class_type
 Traits type used to determine whether the given type is of class type. More...
struct  is_compound_type
 Traits type used to determine whether the given type is a compound type. More...
struct  is_const_type
 Traits type used to determine whether the given type is const. More...
struct  is_floating_point_type
 Traits type used to determine whether the given type is floating point. More...
struct  is_function_pointer_type
 Traits type used to determine whether the given type is a function pointer. More...
struct  is_fundamental_type
 Traits type used to determine whether the given type is a fundamental type. More...
struct  is_integral_type
 Traits type used to determine whether the given type is an integral type. More...
struct  is_numeric_type
 Traits type used to determine whether the given type is a numeric type. More...
struct  is_pointer_type
 Traits type used to determine whether the given type is a pointer. More...
struct  is_same_type
 Traits type used to determine whether two types are the same type. More...
struct  is_signed_type
 Traits type used to determine whether the given type is a signed type. More...
struct  is_void_type
 Traits type used to determine whether the given type is void. More...
struct  is_volatile_type
 Traits type used to determine whether the given type is volatile. More...
struct  make_value_type
 Defines a type with a value_type member type. More...
struct  member_traits
 A structure that can be used to report whether various well-known facets of a type are supported. More...
struct  one_type
 A distinct type for use in meta-programming. More...
struct  two_type
 A distinct type for use in meta-programming. More...
struct  three_type
 A distinct type for use in meta-programming. More...
struct  four_type
 A distinct type for use in meta-programming. More...
struct  five_type
 A distinct type for use in meta-programming. More...
struct  six_type
 A distinct type for use in meta-programming. More...
struct  seven_type
 A distinct type for use in meta-programming. More...
struct  eight_type
 A distinct type for use in meta-programming. More...
struct  nine_type
 A distinct type for use in meta-programming. More...
struct  ten_type
 A distinct type for use in meta-programming. More...
struct  eleven_type
 A distinct type for use in meta-programming. More...
struct  twelve_type
 A distinct type for use in meta-programming. More...
struct  thirteen_type
 A distinct type for use in meta-programming. More...
struct  fourteen_type
 A distinct type for use in meta-programming. More...
struct  fifteen_type
 A distinct type for use in meta-programming. More...
struct  sixteen_type
 A distinct type for use in meta-programming. More...
struct  seventeen_type
 A distinct type for use in meta-programming. More...
struct  eighteen_type
 A distinct type for use in meta-programming. More...
struct  nineteen_type
 A distinct type for use in meta-programming. More...
struct  twenty_type
 A distinct type for use in meta-programming. More...
struct  size_type
 This template is used to synthesise types with specific sizes. More...
struct  select_first_type_if
 Compile-time if component. More...
struct  size_of
 Provides the sizeof the type, and works with void (for which it provides the value 0). More...
struct  int_to_type
 Converts compile time constants to type. More...
struct  yes_type
 Meta boolean 'yes' type, which acts as a complement to the no_type. More...
struct  no_type
 Meta boolean 'no' type, which acts as a complement to the yes_type. More...
struct  value_to_yesno_type
 A type which translates a boolean (integral zero / non-zero) value into the appropriate type (no_type / yes_type). More...
class  performance_counter_initialiser
 A class adaptor that initialises a performance counter. More...
class  performance_counter_scope
 Scopes the measurement period for a performance counter. More...
class  field_property_get
 Class template used to define a read-only internal field property. More...
class  field_property_set
 Class template used to define a write-only internal field property. More...
class  field_property_get_external
 Class template that defines a read-only external property. More...
class  field_property_set_external
 Class template that defines a write-only external property. More...
struct  property_tag
struct  internal_property_tag
struct  external_property_tag
struct  internal_property
 Designates an internal property. More...
struct  external_property
 Designates an external property. More...
struct  member_get_pointer
 Provides static storage and access to a get member function of a given type. More...
struct  member_set_pointer
 Provides static storage and access to a set member function of a given type. More...
class  method_property_get
 This class provides method-based read-only property access. More...
class  method_property_set
 This class provides method-based write-only property access. More...
class  method_property_getset
 This class provides method-based read/write property access. More...
class  method_property_get_external
 This class provides indirect method-based read-only property access. More...
class  method_property_set_external
 This class provides indirect method-based write-only property access. More...
class  method_property_getset_external
 This class provides indirect method-based read/write property access. More...
class  static_method_property_get
 Implements static read-only Method Property. More...
class  static_method_property_set
 Implements static write-only Method Property. More...
class  static_method_property_getset
 Implements static read-write Method Property. More...
class  static_method_property_get_external
 Implements External static read-only Method Property. More...
class  static_method_property_set_external
 Implements External static write-only Method Property. More...
class  static_method_property_getset_external
 Implements External static read-write Method Property. More...
class  proxy_ptr
 This class emulates a pointer in all respects, and is useful as a generic code testing tool, and is simply an aid to self-documentation. More...
class  ref_ptr
 This class provides RAII-safe handling of reference-counted interfaces (RCIs). More...
class  scoped_handle
 Provides automated scope-based cleanup of arbitrary resource types without any memory allocation required to implement the generic support. More...
class  scoped_handle< void >
class  shared_ptr
 This class enables sharing of arbitrary types. More...
struct  char_alt_traits
 Traits for determining the alternate character type. More...
struct  stlsoft_char_traits
 Character traits. More...
struct  stlsoft_char_traits_safe
 Character traits, all of the operations of which can work with null pointers. More...
struct  char_traits
 Character traits, all of the operations of which can work with null pointers. More...
struct  char_traits_safe
 Character traits, all of the operations of which can work with null pointers. More...
struct  charset_comparator
 Comparator for the stlsoft::charset_tokeniser class template. More...
class  charset_tokeniser
 A class template that provides string tokenising behaviour, where the delimiter is a character set, a la strtok(). More...
struct  cstring_maker
 Utility class that creates/destroys fixed-size C-strings for other classes. More...
class  fsc_seed
 This is used as a seed when namespace issues make the selection of the fast_string_concatenator overloads of operator +() ambiguous. More...
class  fast_string_concatenator
 Expression template class which provides fast string concatenation. More...
struct  quoter
 Unary function class that returns a quoted form of its argument, if the argument contains spaces. More...
class  basic_shim_string
 An implementation class, which provides efficient intermediate string objects for conversion shims. More...
class  basic_simple_string
 Simple string class. More...
struct  string_traits< basic_simple_string< C > >
 Specialisation for stlsoft::basic_simple_string<>. More...
class  special_string_instance_0
 Special string instance class template. More...
class  special_string_instance_1
 Special string instance class template. More...
class  basic_static_string
 Simple string class using fixed-size static-based storage. More...
struct  string_tokeniser_ignore_blanks
 A tokenising policy for specifying whether blanks will be included or ignored (now deprecated; replaced by skip_blank_tokens). More...
struct  skip_blank_tokens
 A tokenising policy for specifying whether blanks will be included or ignored. More...
struct  string_tokeniser_type_traits
 A traits class for detecting features of the string type and the value type used to specialise string_tokeniser. More...
struct  string_tokeniser_comparator
 A generic comparator, used to specialise string_tokeniser, that covers most string and delimiter types. More...
class  string_tokeniser
 A class template that provides string tokenising behaviour. More...
struct  string_traits
 Traits for determining the characteristics of strings. More...
class  basic_string_view
 A string class that holds no internal storage, and merely represents a window into other string storage. More...
struct  string_traits< basic_string_view< C, T, A > >
 Specialisation for stlsoft::basic_string_view<>. More...
class  checkout_token
 This class acts as a. More...
struct  synchronisable_object_tag
 Denotes that a deriving class is a synchronisation type. More...
struct  critical_section_tag
 Denotes that a deriving class can be used as a critical section, i.e. More...
struct  critical_section
 Concept tag class that denotes that an object may be utilised to serialise access to a critical section of code. More...
struct  lock_traits
 Traits class for lockable objects. More...
struct  lock_invert_traits
 Traits class for inverting the lock status of lockable objects. More...
struct  lock_traits_inverter
 Traits inverter class for inverting the lock behaviour of lockable traits types. More...
class  lock_scope
 This class scopes the lock status of a lockable type. More...
class  null_mutex
 This class provides a null implementation of the mutex model. More...
class  singlethreaded_tss_index
 Interface-compatible single-threaded replacement for unixstl::tss_index, winstl::tss_index and platformstl::tss_index. More...
struct  spin_yield
 This policy causes spin mutex types default behaviour to be to yield the current time slice when the spin variable cannot be acquired. More...
struct  spin_no_yield
 This policy causes spin mutex types default behaviour to be to not yield the current time slice when the spin variable cannot be acquired. More...
class  cmdargs
 Facade class that presents argc+argv command line parameters as two separate sequences of options (those arguments with - or -- prefixes and, optionally, separated from an option value by a =) and values (those without any leading hyphens). More...
class  basic_commandline_parser
 Parses a command line into parts, and provides sequence semantics for their access. 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...
struct  must_have_base
 Constraint to ensure that the one type is convertible to another via inheritance. More...
struct  must_be_derived
 Constraint to ensure that the one type is convertible to another via inheritance, but is not the same type. More...
struct  must_be_same_size
 Constrains two types to be of the same size. More...
struct  must_be_subscriptable
 Constraint to enforce that a given type is an array, or pointer, or user defined type which is amenable to subsripting (i.e. More...
struct  must_subscript_as_decayable_pointer
 Constraint to enforce that a given type is an actual array or pointer, rather than a user-defined type with a subscript operator. More...
union  must_be_pod
 Constraint to ensure that a type is a built-in or trivial type. More...
union  must_be_pod_or_void
 Constraint to ensure that a type is a built-in or trivial type, or is void. More...
class  exception_string
 Minimalist string class for use within exception classes. 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...
class  pod_veneer
 Bolts construction and/or destruction to Plain Old Data types. 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...
struct  vswprintf_detector
 Traits class that determines whether the C standard function vswprintf() takes 3 or 4 parameters. More...
struct  swprintf_detector
 Traits class that determines whether the C standard function swprintf() takes 3 or 4 parameters. More...
class  trip_bool
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...

Typedefs

typedef
basic_environment_block< char
environment_block_a
 Specialisation of the basic_path template for the ANSI character type char.
typedef
basic_environment_block
< wchar_t
environment_block_w
 Specialisation of the basic_environment_block template for the Unicode character type wchar_t.
typedef multibyte2wide< 256 > m2w
 Type that converts a multibyte string to a wide string.
typedef wide2multibyte< 256 > w2m
 Type that converts a wide string to a multibyte string.
typedef multibyte2wide< 256 > a2w
 [Deprecated] Type that converts a multibyte string to a wide string.
typedef wide2multibyte< 256 > w2a
 [Deprecated] Type that converts a wide string to a multibyte string.
typedef basic_error_desc< charerror_desc_a
 Specialisation of the basic_error_desc template for the multibyte character type char.
typedef basic_error_desc< wchar_terror_desc_w
 Specialisation of the basic_error_desc template for the wide character type wchar_t.
typedef basic_error_desc< charerror_desc
 Specialisation of the basic_error_desc template for the character type char.
typedef null_exception_policy nothrow_exception_policy
 Alternative typedef for null_exception_policy.
typedef char char
typedef STLSOFT_WCHAR_T_BASE_TYPE_ wchar_t
typedef STLSOFT_I_08_T_BASE_TYPE_ ss_int8_t
typedef STLSOFT_SI08_T_BASE_TYPE_ ss_sint8_t
typedef STLSOFT_UI08_T_BASE_TYPE_ ss_uint8_t
typedef STLSOFT_I_16_T_BASE_TYPE_ ss_int16_t
typedef STLSOFT_SI16_T_BASE_TYPE_ ss_sint16_t
typedef STLSOFT_UI16_T_BASE_TYPE_ ss_uint16_t
typedef STLSOFT_I_32_T_BASE_TYPE_ ss_int32_t
typedef STLSOFT_SI32_T_BASE_TYPE_ ss_sint32_t
typedef STLSOFT_UI32_T_BASE_TYPE_ ss_uint32_t
typedef short ss_short_t
typedef int STLSOFT_WARN_64 int
typedef signed int STLSOFT_WARN_64 ss_sint_t
typedef unsigned int
STLSOFT_WARN_64 
ss_uint_t
typedef long STLSOFT_WARN_64 ss_long_t
typedef unsigned long
STLSOFT_WARN_64 
ss_ulong_t
typedef ss_uint8_t ss_byte_t
typedef bool bool
typedef ptrdiff_t ss_ptrdiff_t
typedef size_t STLSOFT_WARN_64 size_t
typedef long ss_streampos_t
typedef long ss_streamoff_t
typedef char char_a_t
typedef wchar_t char_w_t
typedef ss_int8_t int8_t
typedef ss_sint8_t sint8_t
typedef ss_uint8_t uint8_t
typedef ss_int16_t int16_t
typedef ss_sint16_t sint16_t
typedef ss_uint16_t uint16_t
typedef ss_int32_t int32_t
typedef ss_sint32_t sint32_t
typedef ss_uint32_t uint32_t
typedef ss_short_t short_t
typedef int STLSOFT_WARN_64 int_t
typedef ss_sint_t STLSOFT_WARN_64 sint_t
typedef ss_uint_t STLSOFT_WARN_64 uint_t
typedef ss_long_t STLSOFT_WARN_64 long_t
typedef ss_byte_t byte_t
typedef bool bool_t
typedef ss_streampos_t streampos_t
typedef ss_streamoff_t streamoff_t
typedef basic_simple_string< charsimple_string
typedef basic_simple_string
< wchar_t
simple_wstring
typedef basic_string_view< charstring_view
typedef basic_string_view
< wchar_t
wstring_view
typedef
basic_commandline_parser< char
commandline_parser_a
 Specialisation of the basic_commandline_parser template for the ANSI character type char.
typedef
basic_commandline_parser
< wchar_t
commandline_parser_w
 Specialisation of the basic_commandline_parser template for the Unicode character type wchar_t.
typedef must_init< boolbool_init_t
 Specialisation of must_init for bool.
typedef must_init< charchar_init_t
 Specialisation of must_init for char.
typedef must_init< wchar_twchar_t_init_t
 Specialisation of must_init for wchar_t.
typedef must_init< signed charsigned_char_init_t
 Specialisation of must_init for signed char.
typedef must_init< unsigned charunsigned_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< intint_init_t
 Specialisation of must_init for int.
typedef must_init< unsigned intunsigned_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

STLSOFT_TEMPLATE_SPECIALISATION
char
copy_n (acestl_ns_qual(message_queue_sequence)< ACE_NULL_SYNCH >::iterator f, size_t n, char *o)
STLSOFT_TEMPLATE_SPECIALISATION
char
copy_n (acestl_ns_qual(message_queue_sequence)< ACE_MT_SYNCH >::iterator f, size_t n, char *o)
STLSOFT_TEMPLATE_SPECIALISATION
signed char
copy_n (acestl_ns_qual(message_queue_sequence)< ACE_NULL_SYNCH >::iterator f, size_t n, signed char *o)
STLSOFT_TEMPLATE_SPECIALISATION
signed char
copy_n (acestl_ns_qual(message_queue_sequence)< ACE_MT_SYNCH >::iterator f, size_t n, signed char *o)
STLSOFT_TEMPLATE_SPECIALISATION
unsigned char
copy_n (acestl_ns_qual(message_queue_sequence)< ACE_NULL_SYNCH >::iterator f, size_t n, unsigned char *o)
STLSOFT_TEMPLATE_SPECIALISATION
unsigned char
copy_n (acestl_ns_qual(message_queue_sequence)< ACE_MT_SYNCH >::iterator f, size_t n, unsigned char *o)
STLSOFT_TEMPLATE_SPECIALISATION acestl_ns_qual (message_queue_sequence)< ACE_NULL_SYNCH >
int is_empty (ACE_Message_Queue_Base const &q)
 Indicates whether the message queue is empty.
template<ACE_SYNCH_DECL >
int is_empty (ACE_Message_Queue< ACE_SYNCH_USE > const &q)
 Indicates whether the message queue is empty.
int is_empty (ACE_String_Base< char > const &s)
 Indicates whether the string is empty.
int is_empty (ACE_String_Base< wchar_t > const &s)
 Indicates whether the string is empty.
void swap (atlstl_ns_qual(ccombstr_veneer)&lhs, atlstl_ns_qual(ccombstr_veneer)&rhs)
template<typename I, typename O>
copy_n (I src, size_t n, O dest)
 Copies N elements from the range [src, src + n) to the range [dest, dest + n).
template<typename I, typename T>
void replace_n (I src, size_t n, T const &oldValue, T const &newValue)
 Copies N elements from the range [src, src + n) to the range [dest, dest + n).
template<typename C, typename V>
void fill_all (C &container, V const &value)
 Invokes std::for_each() on the range of items in a container.
template<typename T, size_t N, typename V>
void fill_all (T(&ar)[N], V const &value)
 Invokes std::for_each() on the range of items in an array.
template<typename C, typename UF>
UF for_all (C &container, UF func)
 Invokes std::for_each() on the range of items in a container.
template<typename T, size_t N, typename UF>
UF for_all (T(&ar)[N], UF func)
 Invokes std::for_each() on the range of items in an array.
template<typename C, typename UF>
UF for_all_r (C &container, UF func)
 Invokes std::for_each() on the reverse range of items in a container.
template<typename C, typename O>
copy_all (C &container, O dest)
 Invokes std::copy() on all the items in a container.
template<typename T, size_t N, typename O>
copy_all (T(&ar)[N], O dest)
 Invokes std::copy() on the range of items in an array.
template<typename I, typename O>
copy_preinc (I first, I last, O o)
template<typename I, typename O>
copy_postinc (I first, I last, O o)
template<typename I, typename UF>
UF for_each_preinc (I first, I last, UF func)
 Carries out for_each on the range, using pre-increment on the iterator.
template<typename I, typename UF>
UF for_each_postinc (I first, I last, UF func)
 Carries out for_each on the range, using post-increment on the iterator.
template<typename I, typename P>
size_t for_each_count_success (I first, I last, P pred)
 Counts the number of items in the sequence which the predicate is true.
template<typename I, typename V>
V const & for_each_set_value (I begin, I end, V const &value)
 Sets the value of all items in the sequence.
template<typename O, typename V, typename P>
V const & for_each_set_value_if (O begin, O end, V const &value, P pred)
 Sets the value of all items in the sequence.
template<typename I, typename O>
void pod_copy (I *first, I *last, O *dest)
 Copies one range of POD (Plain Old Data) entities to another.
template<typename I, typename O>
void pod_copy_n (O *dest, I *src, size_t n)
 Copies one range of POD (Plain Old Data) entities to another.
template<typename I, typename O>
void pod_move (I *first, I *last, O *dest)
 Copies one range of POD (Plain Old Data) entities to another, where the two may potentially overlap.
template<typename I, typename O>
void pod_move_n (O *dest, I *src, size_t n)
 Copies one range of POD (Plain Old Data) entities to another, where the two may potentially overlap.
template<typename T, typename V>
void pod_fill_n (T *dest, size_t n, V const &value)
 Sets all the elements in a range of POD (Plain Old Data) to a given value.
template<typename I>
void std_advance (I &i, ss_ptrdiff_t n)
 Equivalent to std::advance().
template<typename I, typename O>
std_copy (I first, I last, O dest)
 Equivalent to std::copy().
template<typename I, typename UP>
size_t std_count_if (I first, I last, UP pred)
 Equivalent to std::count_if().
template<typename O, typename V>
void std_fill (O first, O last, V const &value)
 Equivalent to std::fill().
template<typename O, typename V>
void std_fill_n (O dest, size_t n, V const &value)
 Equivalent to std::fill_n().
template<typename I, typename V>
std_find (I first, I last, V const &value)
 Equivalent to std::find().
template<typename I, typename UP>
std_find_if (I first, I last, UP pred)
 Equivalent to std::find_if().
template<typename I, typename UF>
UF std_for_each (I first, I last, UF func)
 Equivalent to std::for_each().
template<typename I, typename T>
void std_replace (I first, I last, T const &valFind, T const &valReplace)
 Equivalent to std::replace().
template<typename RI>
void sort (RI first, RI last)
 Equivalent to std::sort().
template<typename RI, typename BP>
void std_sort (RI first, RI last, BP pred)
 Equivalent to std::sort().
template<typename I, typename O, typename UF>
std_transform (I first, I last, O dest, UF func)
 Equivalent to std::transform().
template<typename FI, typename BP>
FI std_unique (FI first, FI last, BP pred)
 Equivalent to std::unique().
template<typename FI>
FI std_unique (FI first, FI last)
 Equivalent to std::unique().
template<typename FI, typename OI>
OI std_unique_copy (FI first, FI last, OI dest)
 Equivalent to std::unique_copy().
template<typename FI, typename OI, typename BP>
OI std_unique_copy (FI first, FI last, OI dest, BP pred)
 Equivalent to std::unique_copy().
template<typename I, typename O, typename UP>
copy_if (I first, I last, O dest, UP pred)
 Copies elements from one range to another that satisfy a predicate.
template<typename I, typename UF, typename UP>
UF for_each_if (I first, I last, UF func, UP pred)
 Applies the function to all items in a range that satisfy a predicate.
template<typename O, typename V, typename UP>
void fill_if (O first, O last, V const &value, UP pred)
 Sets the value of all items in a range that satisfy a predicate.
template<typename I>
std::pair< I, I > find_first_duplicate (I first, I last)
 Finds the first duplicate item in the unordered sequence [first, last).
template<typename I, typename BP>
std::pair< I, I > find_first_duplicate (I first, I last, BP pred)
template<typename FI>
FI unordered_unique (FI first, FI last)
template<typename FI, typename BP>
FI unordered_unique (FI first, FI last, BP pred)
template<typename FI, typename BP>
FI unordered_unique_if (FI first, FI last, BP pred)
template<typename FI, typename OI>
OI unordered_unique_copy (FI first, FI last, OI dest)
template<typename C, typename BP>
void remove_duplicates_from_unordered_sequence (C &container, BP pred)
 This algorithm removes duplicate entries from unordered sequences.
template<typename C>
void remove_duplicates_from_unordered_sequence (C &container)
 This algorithm removes duplicate entries from unordered sequences.
template<typename I>
skip_equal (I first, I last)
 Skips along from a given iteration point to the first subsequent iteration point whose value is not equal to that of the starting point.
template<typename I1, typename I2>
bool unordered_includes (I1 first1, I1 last1, I2 first2, I2 last2)
 Determines whether all elements from the range [first2, last2) are contained within the range [first1, last1).
template<typename T, size_t N>
array_proxy< T > make_array_proxy (T(&t)[N])
template<typename T>
array_proxy< T > make_array_proxy (T *begin, T *end)
template<typename T>
array_proxy< const T > make_array_proxy (T const *begin, T const *end)
template<typename T>
array_proxy< T > make_array_proxy (T *p, size_t n)
template<typename T, size_t N>
array_view< T > make_array_view (T(&t)[N])
template<typename T>
array_view< T > make_array_view (T *begin, T *end)
template<typename T>
array_view< const T > make_array_view (T const *begin, T const *end)
template<typename T>
array_view< T > make_array_view (T *p, size_t n)
template<typename M, typename K>
ss_typename_type_ret_k
M::mapped_type & 
lookup (M &m, K const &key)
 Looks up and returns the matching referent for a given key, or throws std::out_of_range if the key is not found in the map.
template<typename M, typename K>
ss_typename_type_ret_k
M::mapped_type const & 
lookup (M const &m, K const &key)
 Looks up and returns the matching referent for a given key, or throws std::out_of_range if the key is not found in the map.
template<typename T, typename A, typename P, bool R>
size_t array_size (fixed_array_1d< T, A, P, R > const &ar)
template<typename T, typename A, typename P, bool R>
size_t array_size (fixed_array_2d< T, A, P, R > const &ar)
template<typename T, typename A, typename P, bool R>
size_t array_size (fixed_array_3d< T, A, P, R > const &ar)
template<typename T, typename A, typename P, bool R>
size_t array_size (fixed_array_4d< T, A, P, R > const &ar)
template<typename T, typename N>
void swap (frequency_map< T, N > &lhs, frequency_map< T, N > &rhs)
template<typename T, typename A, size_t SPACE>
bool operator== (pod_vector< T, A, SPACE > const &lhs, pod_vector< T, A, SPACE > const &rhs)
template<typename T, typename A, size_t SPACE>
bool operator!= (pod_vector< T, A, SPACE > const &lhs, pod_vector< T, A, SPACE > const &rhs)
template<typename T, typename A, size_t SPACE>
void swap (pod_vector< T, A, SPACE > &lhs, pod_vector< T, A, SPACE > &rhs)
template<typename T, size_t N0, typename P, typename M>
size_t array_size (static_array_1d< T, N0, P, M > const &ar)
template<typename T, size_t N0, size_t N1, typename P, typename M>
size_t array_size (static_array_2d< T, N0, N1, P, M > const &ar)
template<typename T, size_t N0, size_t N1, size_t N2, typename P, typename M>
size_t array_size (static_array_3d< T, N0, N1, N2, P, M > const &ar)
template<typename T, size_t N0, size_t N1, size_t N2, size_t N3, typename P, typename M>
size_t array_size (static_array_4d< T, N0, N1, N2, N3, P, M > const &ar)
size_t format_bytes (void const *pv, size_t cb, char *buff, size_t cchBuff, size_t byteGrouping, char const *groupSeparator, int groupsPerLine=-1, char const *lineSeparator="\n") throw ()
 Formats the contents of a contiguous block of memory into hexadecimal text, optionally aligning into groups and/or lines.
template<size_t CCH>
wchar_t const * c_str_ptr_null (stlsoft::multibyte2wide< CCH > const &b)
 c_str_ptr_null String Access Shim for stlsoft::multibyte2wide
template<size_t CCH>
wchar_t const * c_str_ptr (stlsoft::multibyte2wide< CCH > const &b)
 c_str_ptr String Access Shim for stlsoft::multibyte2wide
template<size_t CCH>
wchar_t const * c_str_data (stlsoft::multibyte2wide< CCH > const &b)
 c_str_data String Access Shim for stlsoft::multibyte2wide
template<size_t CCH>
size_t c_str_len (stlsoft::multibyte2wide< CCH > const &b)
 c_str_len String Access Shim for stlsoft::multibyte2wide
template<size_t CCH>
char const * c_str_ptr_null (stlsoft::wide2multibyte< CCH > const &b)
 c_str_ptr_null String Access Shim for stlsoft::wide2multibyte
template<size_t CCH>
char const * c_str_ptr (stlsoft::wide2multibyte< CCH > const &b)
 c_str_ptr String Access Shim for stlsoft::wide2multibyte
template<size_t CCH>
char const * c_str_data (stlsoft::wide2multibyte< CCH > const &b)
 c_str_data String Access Shim for stlsoft::wide2multibyte
template<size_t CCH>
size_t c_str_len (stlsoft::wide2multibyte< CCH > const &b)
 c_str_len String Access Shim for stlsoft::wide2multibyte
template<typename S, size_t CCH>
S & operator<< (S &s, stlsoft::multibyte2wide< CCH > const &b)
 stream insertion shim for stlsoft::multibyte2wide
template<typename S, size_t CCH>
S & operator<< (S &s, stlsoft::wide2multibyte< CCH > const &b)
 stream insertion shim for stlsoft::wide2multibyte
template<typename C>
C const * integer_to_string (C *buf, size_t cchBuf, ss_sint8_t i)
 Highly efficient conversion of integer to string.
template<typename C>
C const * integer_to_string (C *buf, size_t cchBuf, ss_uint8_t i)
 Highly efficient conversion of integer to string.
template<typename C>
C const * integer_to_string (C *buf, size_t cchBuf, ss_sint16_t i)
 Highly efficient conversion of integer to string.
template<typename C>
C const * integer_to_string (C *buf, size_t cchBuf, ss_uint16_t i)
 Highly efficient conversion of integer to string.
template<typename C>
C const * integer_to_string (C *buf, size_t cchBuf, ss_sint32_t i)
 Highly efficient conversion of integer to string.
template<typename C>
C const * integer_to_string (C *buf, size_t cchBuf, ss_uint32_t i)
 Highly efficient conversion of integer to string.
template<typename C, size_t N>
C const * integer_to_string (C(&buf)[N], ss_sint8_t i)
 Highly efficient conversion of integer to string.
template<typename C, size_t N>
C const * integer_to_string (C(&buf)[N], ss_uint8_t i)
 Highly efficient conversion of integer to string.
template<typename C, size_t N>
C const * integer_to_string (C(&buf)[N], ss_sint16_t i)
 Highly efficient conversion of integer to string.
template<typename C, size_t N>
C const * integer_to_string (C(&buf)[N], ss_uint16_t i)
 Highly efficient conversion of integer to string.
template<typename C, size_t N>
C const * integer_to_string (C(&buf)[N], ss_sint32_t i)
 Highly efficient conversion of integer to string.
template<typename C, size_t N>
C const * integer_to_string (C(&buf)[N], ss_uint32_t i)
 Highly efficient conversion of integer to string.
template<typename C>
C const * integer_to_string (C *buf, size_t cchBuf, ss_sint8_t i, size_t &cchRes)
 Highly efficient conversion of integer to string.
template<typename C>
C const * integer_to_string (C *buf, size_t cchBuf, ss_uint8_t i, size_t &cchRes)
 Highly efficient conversion of integer to string.
template<typename C>
C const * integer_to_string (C *buf, size_t cchBuf, ss_sint16_t i, size_t &cchRes)
 Highly efficient conversion of integer to string.
template<typename C>
C const * integer_to_string (C *buf, size_t cchBuf, ss_uint16_t i, size_t &cchRes)
 Highly efficient conversion of integer to string.
template<typename C>
C const * integer_to_string (C *buf, size_t cchBuf, ss_sint32_t i, size_t &cchRes)
 Highly efficient conversion of integer to string.
template<typename C>
C const * integer_to_string (C *buf, size_t cchBuf, ss_uint32_t i, size_t &cchRes)
 Highly efficient conversion of integer to string.
template<typename C>
size_t translate_thousands (C *dest, size_t cchDest, C const *picture, C const *rawNumber, C fmtSep, C outputSep)
template<typename C, typename I>
size_t format_thousands (C *dest, size_t cchDest, C const *picture, I const &number, C fmtSep, C outputSep)
template<typename C, typename I>
size_t format_thousands (C *dest, size_t cchDest, C const *picture, I const &number)
template<typename TO, typename FROM>
TO sap_cast (FROM from)
 A cast operator function that casts between non void pointers of the same cv-qualification.
template<typename TO, typename FROM>
TO truncation_cast (FROM from)
template<typename TO, typename FROM>
union_caster< TO, FROM, true > union_cast (FROM const from, bool bCheckAlign=true)
 A powerful cast operator that limits the danger of reinterpret_cast, while avoiding the spurious warnings issued by some compilers.
template<typename TO, typename FROM>
union_caster< TO, FROM, true > make_union_cast (FROM const from, bool bCheckAlign=true)
 [DEPRECATED] Synonym for stlsoft::union_cast().
template<typename C>
C const * c_str_ptr_null (stlsoft::basic_error_desc< C > const &e)
 c_str_ptr_null String Access Shim for stlsoft::basic_error_desc
template<typename C>
C const * c_str_ptr (stlsoft::basic_error_desc< C > const &e)
 c_str_ptr String Access Shim for stlsoft::basic_error_desc
template<typename C>
C const * c_str_data (stlsoft::basic_error_desc< C > const &e)
 c_str_data String Access Shim for stlsoft::basic_error_desc
template<typename C>
size_t c_str_len (stlsoft::basic_error_desc< C > const &e)
 c_str_len String Access Shim for stlsoft::basic_error_desc
template<typename C>
C const * get_ptr (stlsoft::basic_error_desc< C > const &e)
 stlsoft::get_ptr Pointer Attribute Shim for stlsoft::basic_error_desc
template<typename S, typename C>
S & operator<< (S &s, stlsoft::basic_error_desc< C > const &e)
 stream insertion shim for stlsoft::basic_error_desc
int open_file_read_shared (char const *fileName, int shareMode)
 Opens an existing file for shared read access.
int open_file_read_shared (wchar_t const *fileName, int shareMode)
 Opens an existing file for shared read access.
int open_file_exclusive (char const *fileName)
 Opens an existing file for exclusive read access.
int open_file_exclusive (wchar_t const *fileName)
 Opens an existing file for exclusive read access.
read_line_flags::flags_t operator| (read_line_flags::flags_t const &lhs, read_line_flags::flags_t const &rhs)
template<typename S>
bool read_line (FILE *stm, S &line, read_line_flags::flags_t flags=read_line_flags::recogniseAll)
 Reads a line from a C stream.
template<typename I, typename S>
bool read_line (I from, I to, S &line, read_line_flags::flags_t flags=read_line_flags::recogniseAll)
 Reads a line from a pair of iterators.
template<typename T>
void call_set_null (T *&pt, void(T::*F)())
template<typename P1, typename P2>
any_of_tester< P1, P2 > any_of (P1 p1, P2 p2)
template<typename P1, typename P2, typename P3>
any_of_tester< P1,
any_of_tester< P2, P3 > > 
any_of (P1 p1, P2 p2, P3 p3)
template<typename P1, typename P2, typename P3, typename P4>
any_of_tester< any_of_tester
< P1, P2 >, any_of_tester< P3,
P4 > > 
any_of (P1 p1, P2 p2, P3 p3, P4 p4)
template<typename P1, typename P2>
all_of_tester< P1, P2 > all_of (P1 p1, P2 p2)
template<typename P1, typename P2, typename P3>
all_of_tester< P1,
all_of_tester< P2, P3 > > 
all_of (P1 p1, P2 p2, P3 p3)
template<typename P1, typename P2, typename P3, typename P4>
all_of_tester< all_of_tester
< P1, P2 >, all_of_tester< P3,
P4 > > 
all_of (P1 p1, P2 p2, P3 p3, P4 p4)
template<typename R, typename A0, typename A1>
binary_fastcall_function_pointer
< R, A0, A1 > 
ptr_fun (R(__fastcall *func)(A0, A1))
 Creator function to adapt pointers to functions with FastCall (__fastcall) calling convention.
template<typename R, typename A>
unary_stdcall_function_pointer
< R, A > 
ptr_fun (R(__stdcall *func)(A))
 Creator function to adapt pointers to functions with StdCall (__stdcall) calling convention.
template<typename R, typename A0, typename A1>
binary_stdcall_function_pointer
< R, A0, A1 > 
ptr_fun (R(__stdcall *func)(A0, A1))
 Creator function to adapt pointers to functions with StdCall (__stdcall) calling convention.
template<typename A>
unary_fastcall_function_pointer
< void, A > 
ptr_fun_void (void(__fastcall *func)(A))
 Creator function to adapt pointers to functions with FastCall (__fastcall) calling convention that have a void return type.
template<typename A0, typename A1>
binary_fastcall_function_pointer
< void, A0, A1 > 
ptr_fun_void (void(__fastcall *func)(A0, A1))
 Creator function to adapt pointers to functions with FastCall (__fastcall) calling convention that have a void return type.
template<typename A>
unary_stdcall_function_pointer
< void, A > 
ptr_fun_void (void(__stdcall *func)(A))
 Creator function to adapt pointers to functions with StdCall (__stdcall) calling convention that have a void return type.
template<typename A0, typename A1>
binary_stdcall_function_pointer
< void, A0, A1 > 
ptr_fun_void (void(__stdcall *func)(A0, A1))
 Creator function to adapt pointers to functions with StdCall (__stdcall) calling convention that have a void return type.
template<typename T, typename R>
ref2ptr_1_FASTCALL_t< T, R > ptr_ifun (R(__fastcall *p)(T *))
template<typename T, typename R>
ref2ptr_1_STDCALL_t< T, R > ptr_ifun (R(__stdcall *p)(T *))
template<typename T>
ref2ptr_1_FASTCALL_t< T, void > ptr_ifun_void (void(__fastcall *p)(T *))
template<typename T>
ref2ptr_1_STDCALL_t< T, void > ptr_ifun_void (void(__stdcall *p)(T *))
template<typename T, typename R>
ref2ptr_1_FASTCALL_t< T, R > ref2ptr (R(__fastcall *p)(T *))
template<typename T, typename R>
ref2ptr_1_STDCALL_t< T, R > ref2ptr (R(__stdcall *p)(T *))
template<typename T>
ref2ptr_1_FASTCALL_t< T, void > ref2ptr_void (void(__fastcall *p)(T *))
template<typename T>
ref2ptr_1_STDCALL_t< T, void > ref2ptr_void (void(__stdcall *p)(T *))
template<typename R, typename T>
fastcall_mem_fun_t< R, T > mem_fun (R(__fastcallT::*func)())
 Creator function to adapt a pointer to a 0-parameter mutating (non-const) member function, for use with a pointer to the class.
template<typename T>
fastcall_mem_fun_t< void, T > mem_fun_void (void(__fastcallT::*func)())
template<typename R, typename T>
stdcall_mem_fun_t< R, T > mem_fun (R(__stdcallT::*func)())
 Creator function to adapt a pointer to a 0-parameter mutating (non-const) member function, for use with a pointer to the class.
template<typename T>
stdcall_mem_fun_t< void, T > mem_fun_void (void(__stdcallT::*func)())
template<typename R, typename T>
fastcall_mem_fun_ref_t< R, T > mem_fun_ref (R(__fastcallT::*func)())
 Creator function to adapt a pointer to a 0-parameter mutating (non-const) member function, for use with a reference to the class.
template<typename T>
fastcall_mem_fun_ref_t< void, T > mem_fun_ref_void (void(__fastcallT::*func)())
template<typename R, typename T>
stdcall_mem_fun_ref_t< R, T > mem_fun_ref (R(__stdcallT::*func)())
 Creator function to adapt a pointer to a 0-parameter mutating (non-const) member function, for use with a reference to the class.
template<typename T>
stdcall_mem_fun_ref_t< void, T > mem_fun_ref_void (void(__stdcallT::*func)())
template<typename F>
unary_procedure_adaptor< F > adapt_unary_procedure (F func)
 Creator function for the unary_procedure_adaptor.
template<typename F>
binary_procedure_adaptor< F > adapt_binary_procedure (F func)
 Creator function for the binary_procedure_adaptor.
template<typename I, typename F>
associative_select_iterator< I, F > associative_select (I i, F f)
template<typename I, typename F>
bool operator== (associative_select_iterator< I, F > const &lhs, associative_select_iterator< I, F > const &rhs)
template<typename I, typename F>
bool operator!= (associative_select_iterator< I, F > const &lhs, associative_select_iterator< I, F > const &rhs)
template<typename F>
c_str_ptr_extract_iterator< F > c_str_inserter (F &f)
 Creates an instance of the c_str insert iterator.
template<typename F>
c_str_ptr_extract_iterator< F > c_str_ptr_inserter (F &f)
 [DEPRECATED] Creates an instance of the c_str insert iterator.
template<typename C>
cstring_concatenator_iterator< C > make_cstring_concatenator_iterator (C *s, size_t *pNumWritten=NULL)
 Creator function for cstring_concatenator_iterator.
template<typename C>
cstring_concatenator_iterator< C > cstring_concatenator (C *s, size_t *pNumWritten=NULL)
 Creates an instance of the cstring_concatenator_iterator from the given c-string pointer.
template<typename I, typename P>
filter_iterator< I, P > make_filter_iterator (I from, I to, P pr)
 Creator function for filter_iterator.
template<typename I, typename P>
filter_iterator< I, P > filter (I from, I to, P pr)
 Creator function for filter_iterator.
template<typename I, typename P, typename T>
bool operator== (filter_iterator< I, P, T > const &lhs, filter_iterator< I, P, T > const &rhs)
template<typename I, typename P, typename T>
bool operator!= (filter_iterator< I, P, T > const &lhs, filter_iterator< I, P, T > const &rhs)
template<typename I, typename TF, typename FP>
filter_iterator
< transform_iterator< I, TF >
, FP > 
make_filter_transform_iterator (I from, I to, FP pr, TF fn)
 Creator function for filter_iterator + transform_iterator.
template<typename I, typename TF, typename FP>
filter_iterator
< transform_iterator< I, TF >
, FP > 
filter_transformer (I from, I to, FP pr, TF fn)
 Creator function for filter_iterator + transform_iterator.
template<typename I>
index_iterator< I > make_index_iterator (I it, ss_ptrdiff_t index=0)
 Creator function for index_iterator.
template<typename I>
index_iterator< I > indexer (I it, ss_ptrdiff_t index=0)
 Creator function for index_iterator.
template<typename I, typename T>
bool operator== (index_iterator< I, T > const &lhs, index_iterator< I, T > const &rhs)
template<typename I, typename T>
bool operator!= (index_iterator< I, T > const &lhs, index_iterator< I, T > const &rhs)
template<typename I, typename T>
index_iterator< I, T > operator+ (index_iterator< I, T > const &lhs, typename index_iterator< I, T >::difference_type rhs)
template<typename I, typename T>
index_iterator< I, T > operator- (index_iterator< I, T > const &lhs, ss_ptrdiff_t rhs)
template<typename I, typename T>
ss_typename_type_ret_k
index_iterator< I, T >
::difference_type 
operator- (index_iterator< I, T > const &lhs, index_iterator< I, T > const &rhs)
template<typename I, typename T>
bool operator< (index_iterator< I, T > const &lhs, index_iterator< I, T > const &rhs)
template<typename I, typename T>
bool operator<= (index_iterator< I, T > const &lhs, index_iterator< I, T > const &rhs)
template<typename I, typename T>
bool operator> (index_iterator< I, T > const &lhs, index_iterator< I, T > const &rhs)
template<typename I, typename T>
bool operator>= (index_iterator< I, T > const &lhs, index_iterator< I, T > const &rhs)
template<typename I, typename T, typename R, typename P, typename D, typename C>
bool operator== (indirect_reverse_iterator< I, T, R, P, D, C > const &lhs, indirect_reverse_iterator< I, T, R, P, D, C > const &rhs)
template<typename I, typename T, typename R, typename P, typename D, typename C>
bool operator!= (indirect_reverse_iterator< I, T, R, P, D, C > const &lhs, indirect_reverse_iterator< I, T, R, P, D, C > const &rhs)
template<typename I, typename T, typename R, typename P, typename D, typename C>
bool operator< (indirect_reverse_iterator< I, T, R, P, D, C > const &lhs, indirect_reverse_iterator< I, T, R, P, D, C > const &rhs)
template<typename I, typename T, typename R, typename P, typename D, typename C>
bool operator<= (indirect_reverse_iterator< I, T, R, P, D, C > const &lhs, indirect_reverse_iterator< I, T, R, P, D, C > const &rhs)
template<typename I, typename T, typename R, typename P, typename D, typename C>
bool operator> (indirect_reverse_iterator< I, T, R, P, D, C > const &lhs, indirect_reverse_iterator< I, T, R, P, D, C > const &rhs)
template<typename I, typename T, typename R, typename P, typename D, typename C>
bool operator>= (indirect_reverse_iterator< I, T, R, P, D, C > const &lhs, indirect_reverse_iterator< I, T, R, P, D, C > const &rhs)
template<typename I, class C, typename M>
ss_typename_type_ret_k
msi_traits< I, C, M >::type 
member_selector (I it, M C::*member)
 Creator function for member_selector_iterator.
template<typename I, class C, typename M>
bool operator== (member_selector_iterator< I, C, M > const &lhs, member_selector_iterator< I, C, M > const &rhs)
template<typename I, class C, typename M>
bool operator!= (member_selector_iterator< I, C, M > const &lhs, member_selector_iterator< I, C, M > const &rhs)
template<typename I, class C, typename M>
member_selector_iterator< I, C, M > operator+ (member_selector_iterator< I, C, M > const &lhs, ss_ptrdiff_t delta)
template<typename I, class C, typename M>
member_selector_iterator< I, C, M > operator- (member_selector_iterator< I, C, M > const &lhs, ss_ptrdiff_t delta)
template<typename I, class C, typename M>
ss_ptrdiff_t operator- (member_selector_iterator< I, C, M > const &lhs, member_selector_iterator< I, C, M > const &rhs)
template<typename I, class C, typename M>
bool operator< (member_selector_iterator< I, C, M > const &lhs, member_selector_iterator< I, C, M > const &rhs)
template<typename I, class C, typename M>
bool operator<= (member_selector_iterator< I, C, M > const &lhs, member_selector_iterator< I, C, M > const &rhs)
template<typename I, class C, typename M>
bool operator> (member_selector_iterator< I, C, M > const &lhs, member_selector_iterator< I, C, M > const &rhs)
template<typename I, class C, typename M>
bool operator>= (member_selector_iterator< I, C, M > const &lhs, member_selector_iterator< I, C, M > const &rhs)
template<typename S, typename D>
string_concatenator_iterator
< S, D > 
make_string_concatenator_iterator (S &s, D const &delim)
 Creator function for string_concatenator_iterator.
template<typename S, typename D>
string_concatenator_iterator
< S, D > 
string_concatenator (S &s, D const &delim)
 Creator function for string_concatenator_iterator.
template<typename I, typename TF, typename FP>
transform_iterator
< filter_iterator< I, FP >, TF > 
make_transform_filter_iterator (I from, I to, TF fn, FP pr)
 Creator function for transform_iterator + filter_iterator.
template<typename I, typename TF, typename FP>
transform_iterator
< filter_iterator< I, FP >, TF > 
transform_filter (I from, I to, TF fn, FP pr)
 Creator function for transform_iterator + filter_iterator.
template<typename I, typename F>
transform_iterator< I, F > make_transform_iterator (I it, F fn)
 Creator function for transform_iterator.
template<typename I, typename F>
transform_iterator< I, F > transformer (I it, F fn)
 Creator function for transform_iterator.
template<typename I, typename F>
bool operator== (transform_iterator< I, F > const &lhs, transform_iterator< I, F > const &rhs)
template<typename I, typename F>
bool operator!= (transform_iterator< I, F > const &lhs, transform_iterator< I, F > const &rhs)
template<typename I, typename F>
transform_iterator< I, F > operator+ (transform_iterator< I, F > const &lhs, typename transform_iterator< I, F >::difference_type rhs)
template<typename I, typename F>
transform_iterator< I, F > operator- (transform_iterator< I, F > const &lhs, ss_ptrdiff_t rhs)
template<typename I, typename F>
ss_typename_type_ret_k
transform_iterator< I, F >
::difference_type 
operator- (transform_iterator< I, F > const &lhs, transform_iterator< I, F > const &rhs)
template<typename I, typename F>
bool operator< (transform_iterator< I, F > const &lhs, transform_iterator< I, F > const &rhs)
template<typename I, typename F>
bool operator<= (transform_iterator< I, F > const &lhs, transform_iterator< I, F > const &rhs)
template<typename I, typename F>
bool operator> (transform_iterator< I, F > const &lhs, transform_iterator< I, F > const &rhs)
template<typename I, typename F>
bool operator>= (transform_iterator< I, F > const &lhs, transform_iterator< I, F > const &rhs)
template<typename T, size_t SPACE, typename A>
void swap (auto_buffer< T, SPACE, A > &lhs, auto_buffer< T, SPACE, A > &rhs)
template<typename T, size_t SPACE, typename A>
bool is_empty (auto_buffer< T, SPACE, A > const &b)
template<typename T>
T * get_ptr (auto_destructor< T > const &ad)
template<typename T>
T * get_ptr (return_value_destructor< T > const &ad)
template<typename T>
T * get_ptr (auto_array_destructor< T > const &ad)
template<typename T>
T * get_ptr (return_value_array_destructor< T > const &ad)
template<typename T>
one_t has_const_iterator_function (...)
template<typename T>
four_t has_const_iterator_function (typename T::const_iterator const volatile *)
template<typename T>
one_t has_const_pointer_function (...)
template<typename T>
sixteen_t has_const_pointer_function (typename T::const_pointer const volatile *)
template<typename T>
one_t has_const_reference_function (...)
template<typename T>
nine_t has_const_reference_function (typename T::const_reference const volatile *)
template<typename T>
one_t has_difference_type_function (...)
template<typename T>
twelve_t has_difference_type_function (typename T::difference_type const volatile *)
template<typename T>
one_t has_distance_type_function (...)
template<typename T>
eleven_t has_distance_type_function (typename T::distance_type const volatile *)
template<typename T>
one_t has_iterator_function (...)
template<typename T>
three_t has_iterator_function (typename T::iterator const volatile *)
template<typename T>
one_t has_iterator_category_function (...)
template<typename T>
ten_t has_iterator_category_function (typename T::iterator_category const volatile *)
template<typename T>
one_t has_key_type_function (...)
template<typename T>
thirteen_t has_key_type_function (typename T::key_type const volatile *)
template<typename T>
one_t has_mapped_type_function (...)
template<typename T>
fourteen_t has_mapped_type_function (typename T::mapped_type const volatile *)
template<typename T>
one_t has_pointer_function (...)
template<typename T>
five_t has_pointer_function (typename T::pointer const volatile *)
template<typename T>
one_t has_pointer_type_function (...)
template<typename T>
six_t has_pointer_type_function (typename T::pointer_type const volatile *)
template<typename T>
one_t has_reference_type_function (...)
template<typename T>
eight_t has_reference_type_function (typename T::reference_type const volatile *)
template<typename T>
one_t has_referent_type_function (...)
template<typename T>
fifteen_t has_referent_type_function (typename T::referent_type const volatile *)
template<typename T>
one_t has_value_type_function (...)
template<typename T>
two_t has_value_type_function (typename T::value_type const volatile *)
template<typename R, typename A0>
one_type is_function_pointer_type_func (R(*)(A0))
template<typename R, typename A0, typename A1>
one_type is_function_pointer_type_func (R(*)(A0, A1))
template<typename R, typename A0, typename A1, typename A2>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2))
template<typename R, typename A0, typename A1, typename A2, typename A3>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37, A38))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37, A38, A39))
template<typename R, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31, typename A32, typename A33, typename A34, typename A35, typename A36, typename A37, typename A38, typename A39, typename A40>
one_type is_function_pointer_type_func (R(*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37, A38, A39, A40))
two_type is_function_pointer_type_func (...)
template<typename U>
one_t is_pointer_type_func (U const volatile *)
 Tests whether a type is a pointer type.
two_t is_pointer_type_func (...)
template<typename V, typename R, typename C, typename S>
S & operator<< (S &s, field_property_get< V, R, C > const &prop)
template<typename V, typename R, typename S>
S & operator<< (S &s, field_property_get_external< V, R > const &prop)
template<typename V, typename RG, typename RS, typename C, ss_ptrdiff_t(*)() PFnOff, RG(C::*)() const PFnGet, void(C::*)(RS) PFnSet, typename S>
S & operator<< (S &s, method_property_getset< V, RG, RS, C, PFnOff, PFnGet, PFnSet > const &prop)
template<typename V, typename R, typename C, ss_ptrdiff_t(*)() PFnOff, R(C::*)() const PFnGet, typename S>
S & operator<< (S &s, method_property_get< V, R, C, PFnOff, PFnGet > const &prop)
template<typename RG, typename RS, typename C, ss_ptrdiff_t(*)() PFnOff, RG(C::*)() const PFnGet, void(C::*)(RS) PFnSet, typename S>
S & operator<< (S &s, method_property_getset_external< RG, RS, C, PFnOff, PFnGet, PFnSet > const &prop)
template<typename R, typename C, ss_ptrdiff_t(*)() PFnOff, R(C::*)() const PFnGet, typename S>
S & operator<< (S &s, method_property_get_external< R, C, PFnOff, PFnGet > const &prop)
STLSOFT_INLINE char const * c_str_ptr_a (char const *s)
 c_str_ptr String Access Shim function for char const*.
STLSOFT_INLINE wchar_t const * c_str_ptr_w (wchar_t const *s)
 c_str_ptr String Access Shim function for wchar_t const*.
char const * c_str_ptr (char const *s)
 c_str_ptr String Access Shim function for char const*.
wchar_t const * c_str_ptr (wchar_t const *s)
 c_str_ptr String Access Shim function for wchar_t const*.
STLSOFT_INLINE char const * c_str_ptr_null_a (char const *s)
 c_str_ptr_null String Access Shim function for char const*.
STLSOFT_INLINE wchar_t const * c_str_ptr_null_w (wchar_t const *s)
 c_str_ptr_null String Access Shim function for wchar_t const*.
char const * c_str_ptr_null (char const *s)
 c_str_ptr_null String Access Shim function for char const*.
wchar_t const * c_str_ptr_null (wchar_t const *s)
 c_str_ptr_null String Access Shim function for wchar_t const*.
STLSOFT_INLINE char const * c_str_data_a (char const *s)
 c_str_data String Access Shim function for char const*.
STLSOFT_INLINE wchar_t const * c_str_data_w (wchar_t const *s)
 c_str_data String Access Shim function for wchar_t const*.
char const * c_str_data (char const *s)
 c_str_data String Access Shim function for char const*.
wchar_t const * c_str_data (wchar_t const *s)
 c_str_data String Access Shim function for wchar_t const*.
STLSOFT_INLINE size_t c_str_len_a (char const *s)
 c_str_len String Access Shim function for char const*.
STLSOFT_INLINE size_t c_str_len_w (wchar_t const *s)
 c_str_len String Access Shim function for wchar_t const*.
size_t c_str_len (char const *s)
 c_str_len String Access Shim function for char const*.
size_t c_str_len (wchar_t const *s)
 c_str_len String Access Shim function for wchar_t const*.
STLSOFT_INLINE size_t c_str_size_a (char const *s)
 c_str_size String Access Shim function for char const*.
STLSOFT_INLINE size_t c_str_size_w (wchar_t const *s)
 c_str_size String Access Shim function for wchar_t const*.
size_t c_str_size (char const *s)
 c_str_size String Access Shim function for char const*.
size_t c_str_size (wchar_t const *s)
 c_str_size String Access Shim function for wchar_t const*.
template<typename S>
size_t c_str_size (S const &s)
 Generic implementation of c_str_size String Access Shim function for any type for which c_str_len is defined.
char const * c_str_data_a (std::string const &s)
 c_str_data String Access Shim function for std::string.
wchar_t const * c_str_data_w (stlsoft_wstring_t_ const &s)
 c_str_data String Access Shim function for std::wstring.
template<typename T, typename A>
char const * c_str_data_a (std::basic_string< char, T, A > const &s)
 c_str_data String Access Shim function for specialisations of std::basic_string with char.
template<typename T, typename A>
wchar_t const * c_str_data_w (std::basic_string< wchar_t, T, A > const &s)
 c_str_data String Access Shim function for specialisations of std::basic_string with wchar_t.
template<typename C, typename T, typename A>
C const * c_str_data (std::basic_string< C, T, A > const &s)
 c_str_data String Access Shim function for arbitrary specialisations of std::basic_string.
size_t c_str_len_a (std::string const &s)
 c_str_len String Access Shim function for std::string.
size_t c_str_len_w (stlsoft_wstring_t_ const &s)
 c_str_len String Access Shim function for std::wstring.
template<typename T, typename A>
size_t c_str_len_a (std::basic_string< char, T, A > const &s)
 c_str_len String Access Shim function for specialisations of std::basic_string with char.
template<typename T, typename A>
size_t c_str_len_w (std::basic_string< wchar_t, T, A > const &s)
 c_str_len String Access Shim function for specialisations of std::basic_string with wchar_t.
template<typename C, typename T, typename A>
size_t c_str_len (std::basic_string< C, T, A > const &s)
 c_str_len String Access Shim function for arbitrary specialisations of std::basic_string.
char const * c_str_ptr_a (std::string const &s)
 c_str_ptr String Access Shim function for std::string.
wchar_t const * c_str_ptr_w (stlsoft_wstring_t_ const &s)
 c_str_ptr String Access Shim function for std::wstring.
template<typename T, typename A>
char const * c_str_ptr_a (std::basic_string< char, T, A > const &s)
 c_str_ptr String Access Shim function for specialisations of std::basic_string with char.
template<typename T, typename A>
wchar_t const * c_str_ptr_w (std::basic_string< wchar_t, T, A > const &s)
 c_str_ptr String Access Shim function for specialisations of std::basic_string with wchar_t.
template<typename C, typename T, typename A>
C const * c_str_ptr (std::basic_string< C, T, A > const &s)
 c_str_ptr String Access Shim function for arbitrary specialisations of std::basic_string.
char const * c_str_ptr_null_a (std::string const &s)
 c_str_ptr_null String Access Shim function for std::string.
wchar_t const * c_str_ptr_null_w (stlsoft_wstring_t_ const &s)
 c_str_ptr_null String Access Shim function for std::wstring.
template<typename T, typename A>
char const * c_str_ptr_null_a (std::basic_string< char, T, A > const &s)
 c_str_ptr_null String Access Shim function for specialisations of std::basic_string with char.
template<typename T, typename A>
wchar_t const * c_str_ptr_null_w (std::basic_string< wchar_t, T, A > const &s)
 c_str_ptr_null String Access Shim function for specialisations of std::basic_string with wchar_t.
template<typename C, typename T, typename A>
C const * c_str_ptr_null (std::basic_string< C, T, A > const &s)
 c_str_ptr_null String Access Shim function for arbitrary specialisations of std::basic_string.
template<typename S>
size_t c_str_size_a (S const &s)
 Generic implementation of c_str_size String Access Shim function for any type for which c_str_len_a is defined.
template<typename S>
size_t c_str_size_w (S const &s)
 Generic implementation of c_str_size String Access Shim function for any type for which c_str_len_w is defined.
cannot_use_untyped_0_or_NULL_with_shims c_str_size (int deny_literal_NULL)
 Implementation of c_str_size String Access Shim for trapping use of literal 0 or NULL.
char const * c_str_data_a (std::exception const &x)
 c_str_data String Access Shim function for std::exception.
char const * c_str_data (std::exception const &x)
 c_str_data String Access Shim function for std::exception.
size_t c_str_len_a (std::exception const &x)
 c_str_len String Access Shim function for std::exception.
size_t c_str_len (std::exception const &x)
 c_str_len String Access Shim function for std::exception.
char const * c_str_ptr_a (std::exception const &x)
 c_str_ptr String Access Shim function for std::exception.
char const * c_str_ptr (std::exception const &x)
 c_str_ptr String Access Shim function for std::exception.
char const * c_str_ptr_null_a (std::exception const &x)
 c_str_ptr_null String Access Shim function for std::exception.
char const * c_str_ptr_null (std::exception const &x)
 c_str_ptr_null String Access Shim function for std::exception.
basic_shim_string< charc_str_data_a (struct tm const *t)
 c_str_data String Access Shim function for struct tm.
basic_shim_string< charc_str_data (struct tm const *t)
 c_str_data String Access Shim function for struct tm.
size_t c_str_len_a (struct tm const *t)
 c_str_len String Access Shim function for struct tm.
size_t c_str_len (struct tm const *t)
 c_str_len String Access Shim function for struct tm.
basic_shim_string< charc_str_ptr_a (struct tm const *t)
 c_str_ptr String Access Shim function for struct tm.
basic_shim_string< charc_str_ptr (struct tm const *t)
 c_str_ptr String Access Shim function for struct tm.
basic_shim_string< charc_str_ptr_null_a (struct tm const *t)
 c_str_ptr_null String Access Shim function for struct tm.
basic_shim_string< charc_str_ptr_null (struct tm const *t)
 c_str_ptr_null String Access Shim function for struct tm.
basic_shim_string< charc_str_data (struct tm const &t)
 c_str_data String Access Shim function for struct tm.
basic_shim_string< charc_str_data_a (struct tm const &t)
 c_str_data String Access Shim function for struct tm.
size_t c_str_len_a (struct tm const &t)
 c_str_len String Access Shim function for struct tm.
size_t c_str_len (struct tm const &t)
 c_str_len String Access Shim function for struct tm.
basic_shim_string< charc_str_ptr_a (struct tm const &t)
 c_str_ptr String Access Shim function for struct tm.
basic_shim_string< charc_str_ptr (struct tm const &t)
 c_str_ptr String Access Shim function for struct tm.
basic_shim_string< charc_str_ptr_null_a (struct tm const &t)
 c_str_ptr_null String Access Shim function for struct tm.
basic_shim_string< charc_str_ptr_null (struct tm const &t)
 c_str_ptr_null String Access Shim function for struct tm.
STLSOFT_INLINE FILE * get_FILE_ptr (FILE *stm)
template<typename T>
T * get_ptr (std::auto_ptr< T > const &p)
template<typename T>
T const * get_ptr (T const *p)
template<typename T>
T const volatile * get_ptr (T const volatile *p)
template<typename T>
T volatile * get_ptr (T volatile *p)
template<typename T>
T * get_ptr (T *p)
template<typename T>
to_uint64_shim_does_not_provide_a_degenerate_case to_uint64 (T const &)
 The degenerate case, which proscribes the use of the shim with arbitrary types; only those types with specific shim functions.
ss_uint64_t to_uint64 (ss_uint8_t i)
 uint8_t overload of the stlsoft::to_uint64 shim
ss_uint64_t to_uint64 (ss_uint16_t i)
 uint16_t overload of the stlsoft::to_uint64 shim
ss_uint64_t to_uint64 (ss_uint32_t i)
 uint32_t overload of the stlsoft::to_uint64 shim
ss_uint64_t to_uint64 (ss_uint64_t i)
 Degenerate form of the stlsoft::to_uint64 shim.
template<typename C>
bool is_empty (C const &c)
 Indicates whether the collection is empty.
template<typename T>
T * get_ptr (proxy_ptr< T > const &p)
 get_ptr shim
template<typename I>
void add_reference (I *pi)
 Control shim for adding a reference on a reference-counted interface (RCI).
template<typename I>
void release_reference (I *pi)
 Control shim for releasing a reference on a reference-counted interface (RCI).
template<typename T, typename I, typename U>
bool operator== (ref_ptr< T, I, U > const &lhs, ref_ptr< T, I, U > const &rhs)
template<typename T, typename I, typename U>
bool operator!= (ref_ptr< T, I, U > const &lhs, ref_ptr< T, I, U > const &rhs)
template<typename T, typename I, typename U>
void swap (ref_ptr< T, I, U > &lhs, ref_ptr< T, I, U > &rhs)
template<typename T, typename I, typename U>
bool is_empty (ref_ptr< T, I, U > const &p)
 is_empty shim
template<typename T, typename I, typename U>
T * get_ptr (ref_ptr< T, I, U > const &p)
 get_ptr shim
template<typename S, typename T, typename I, typename U>
S & operator<< (S &s, ref_ptr< T, I, U > const &p)
 Insertion operator shim.
template<typename H>
void swap (scoped_handle< H > &lhs, scoped_handle< H > &rhs)
template<typename H>
ss_typename_type_ret_k
scoped_handle< H >
::handle_type 
get_handle (scoped_handle< H > const &h)
template<typename T>
void swap (shared_ptr< T > &lhs, shared_ptr< T > &rhs)
template<typename T>
T * get_ptr (shared_ptr< T > const &p)
 get_ptr shim
template<typename S, typename T>
S & operator<< (S &s, shared_ptr< T > const &p)
 Insertion operator shim.
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.
charstrdup (char const *s)
 Duplicates the multibyte C-string.
wchar_tstrdup (wchar_t const *s)
 Duplicates the wide C-string.
template<typename X>
void throw_x (X const &x)
 Throws the given exception.
template<typename T>
void const * ptr_byte_offset (T const p, ss_ptrdiff_t n)
 Offsets a pointer by a number of bytes.
template<typename T>
T const * ptr_offset (T const *p, ss_ptrdiff_t n)
 Offsets a pointer by a number of elements.
template<typename T1, typename T2>
ss_ptrdiff_t ptr_byte_diff (T1 const *p1, T2 const *p2)
 Get the difference in bytes between two pointers.
template<typename T1, typename T2>
ss_ptrdiff_t ptr_diff (T1 const *p1, T2 const *p2)
 Get the difference in elements between two pointers.
template<typename T>
T & remove_const (T const &t)
 Remove const-qualifier from an instance.
template<typename T>
T const & apply_const (T &t)
 Adds const-qualifier to an instance.
template<typename T>
T const * address (T const &t)
 Takes the address of a variable.
template<typename S>
S & make_upper (S &s)
 Converts all characters in the string to upper case.
template<typename S>
S & make_lower (S &s)
 Converts all characters in the string to lower case.
template<typename S>
to_upper (S const &s)
 Returns a copy of the source string in which all characters have been converted to upper case.
template<typename S>
to_lower (S const &s)
 Returns a copy of the source string in which all characters have been converted to lower case.
template<typename S>
left (S const &s, size_t n)
template<typename S>
right (S const &s, size_t n)
template<typename S>
mid (S const &s, size_t pos, size_t n)
_STLSOFT_STRING_CONTAINER_SLICE_FUNCTIONS_RETURN_TEMPLATE
< char
left (char const *s, size_t n)
_STLSOFT_STRING_CONTAINER_SLICE_FUNCTIONS_RETURN_TEMPLATE
< char
left (char *s, size_t n)
_STLSOFT_STRING_CONTAINER_SLICE_FUNCTIONS_RETURN_TEMPLATE
< wchar_t
left (wchar_t const *s, size_t n)
_STLSOFT_STRING_CONTAINER_SLICE_FUNCTIONS_RETURN_TEMPLATE
< wchar_t
left (wchar_t *s, size_t n)
_STLSOFT_STRING_CONTAINER_SLICE_FUNCTIONS_RETURN_TEMPLATE
< char
right (char const *s, size_t n)
_STLSOFT_STRING_CONTAINER_SLICE_FUNCTIONS_RETURN_TEMPLATE
< char
right (char *s, size_t n)
_STLSOFT_STRING_CONTAINER_SLICE_FUNCTIONS_RETURN_TEMPLATE
< wchar_t
right (wchar_t const *s, size_t n)
_STLSOFT_STRING_CONTAINER_SLICE_FUNCTIONS_RETURN_TEMPLATE
< wchar_t
right (wchar_t *s, size_t n)
_STLSOFT_STRING_CONTAINER_SLICE_FUNCTIONS_RETURN_TEMPLATE
< char
mid (char const *s, size_t pos, size_t n)
_STLSOFT_STRING_CONTAINER_SLICE_FUNCTIONS_RETURN_TEMPLATE
< char
mid (char *s, size_t pos, size_t n)
_STLSOFT_STRING_CONTAINER_SLICE_FUNCTIONS_RETURN_TEMPLATE
< wchar_t
mid (wchar_t const *s, size_t pos, size_t n)
_STLSOFT_STRING_CONTAINER_SLICE_FUNCTIONS_RETURN_TEMPLATE
< wchar_t
mid (wchar_t *s, size_t pos, size_t n)
template<typename C>
size_t copy_contents (C *dest, size_t cchDest, C const *src, size_t cchSource)
 Utility function for copying C-string contents into a caller supplied buffer, which may be NULL to measure the required extent.
template<typename C, typename A>
C * string_dup (C const *str, size_t cch, A &ator)
 Allocates a copy of the string, using the given allocator.
template<typename C, typename A>
C * string_dup (C const *str, A &ator, size_t *psize=NULL)
 Allocates a copy of the string, using the given allocator.
template<typename S, typename C, typename T>
fast_string_concatenator< S, C, T > operator+ (fsc_seed const &lhs, S const &rhs)
template<typename S, typename C, typename T>
fast_string_concatenator< S, C,
T > const & 
operator+ (fsc_seed const &, fast_string_concatenator< S, C, T > const &rhs)
template<typename S, typename C, typename T>
fast_string_concatenator< S, C, T > operator+ (fast_string_concatenator< S, C, T > const &lhs, S const &rhs)
template<typename S, typename C, typename T>
fast_string_concatenator< S, C, T > operator+ (fast_string_concatenator< S, C, T > const &lhs, C const *rhs)
template<typename S, typename C, typename T>
fast_string_concatenator< S, C, T > operator+ (fast_string_concatenator< S, C, T > const &lhs, C const rhs)
template<typename S, typename C, typename T>
fast_string_concatenator< S, C, T > operator+ (fast_string_concatenator< S, C, T > const &lhs, fast_string_concatenator< S, C, T > const &rhs)
template<typename S, typename C, typename T>
fast_string_concatenator< S, C, T > operator+ (S const &lhs, fast_string_concatenator< S, C, T > const &rhs)
template<typename S, typename C, typename T>
fast_string_concatenator< S, C, T > operator+ (C const *lhs, fast_string_concatenator< S, C, T > const &rhs)
template<typename S, typename C, typename T>
fast_string_concatenator< S, C, T > operator+ (C const lhs, fast_string_concatenator< S, C, T > const &rhs)
template<typename C, size_t N, bool U, typename A, typename T>
C const * c_str_ptr (basic_shim_string< C, N, U, A, T > const &ss)
template<typename C, size_t N, bool U, typename A, typename T>
C const * c_str_data (basic_shim_string< C, N, U, A, T > const &ss)
template<typename C, size_t N, bool U, typename A, typename T>
size_t c_str_len (basic_shim_string< C, N, U, A, T > const &ss)
template<typename S, typename C, size_t N, bool U, typename A, typename T>
S & operator<< (S &s, basic_shim_string< C, N, U, A, T > const &ss)
template<typename C>
C const * c_str_data (basic_shim_string< C > const &ss)
char const * c_str_data_a (basic_shim_string< char > const &ss)
wchar_t const * c_str_data_w (basic_shim_string< wchar_t > const &ss)
template<typename C>
size_t c_str_len (basic_shim_string< C > const &ss)
size_t c_str_len_a (basic_shim_string< char > const &ss)
size_t c_str_len_w (basic_shim_string< wchar_t > const &ss)
template<typename C>
C const * c_str_ptr (basic_shim_string< C > const &ss)
char const * c_str_ptr_a (basic_shim_string< char > const &ss)
wchar_t const * c_str_ptr_w (basic_shim_string< wchar_t > const &ss)
template<typename S, typename C>
S & operator<< (S &s, basic_shim_string< C > const &ss)
template<typename C, typename T, typename A>
C const * c_str_ptr_null (basic_simple_string< C, T, A > const &s)
 Returns the corresponding C-string pointer of s, or a null pointer.
template<typename T, typename A>
char const * c_str_ptr_null_a (basic_simple_string< char, T, A > const &s)
 char variant of c_str_ptr_null for basic_simple_string specialisations
template<typename T, typename A>
wchar_t const * c_str_ptr_null_w (basic_simple_string< wchar_t, T, A > const &s)
 wchar_t variant of c_str_ptr_null for basic_simple_string specialisations
template<typename C, typename T, typename A>
C const * c_str_ptr (basic_simple_string< C, T, A > const &s)
 Returns the corresponding C-string pointer of s.
template<typename T, typename A>
char const * c_str_ptr_a (basic_simple_string< char, T, A > const &s)
 char variant of c_str_ptr for basic_simple_string specialisations
template<typename T, typename A>
wchar_t const * c_str_ptr_w (basic_simple_string< wchar_t, T, A > const &s)
 wchar_t variant of c_str_ptr for basic_simple_string specialisations
template<typename C, typename T, typename A>
C const * c_str_data (basic_simple_string< C, T, A > const &s)
 Returns the corresponding C-string pointer of s.
template<typename T, typename A>
char const * c_str_data_a (basic_simple_string< char, T, A > const &s)
 char variant of c_str_data for basic_simple_string specialisations
template<typename T, typename A>
wchar_t const * c_str_data_w (basic_simple_string< wchar_t, T, A > const &s)
 wchar_t variant of c_str_data for basic_simple_string specialisations
template<typename C, typename T, typename A>
size_t c_str_len (basic_simple_string< C, T, A > const &s)
 Returns the length (in characters) of s, not including the null-terminating character.
template<typename T, typename A>
size_t c_str_len_a (basic_simple_string< char, T, A > const &s)
 char variant of c_str_len for basic_simple_string specialisations
template<typename T, typename A>
size_t c_str_len_w (basic_simple_string< wchar_t, T, A > const &s)
 wchar_t variant of c_str_len for basic_simple_string specialisations
template<typename S, typename C, typename T, typename A>
S & operator<< (S &s, basic_simple_string< C, T, A > const &str)
template<typename C, typename T, typename A>
void swap (basic_simple_string< C, T, A > &lhs, basic_simple_string< C, T, A > &rhs)
template<typename P>
ss_typename_type_ret_k
special_string_instance_0< P >
::char_type const * 
c_str_ptr_null (stlsoft::special_string_instance_0< P > const &ssi)
 c_str_ptr_null String Access Shim for stlsoft::special_string_instance_0
template<typename P>
ss_typename_type_ret_k
special_string_instance_0< P >
::char_type const * 
c_str_ptr (stlsoft::special_string_instance_0< P > const &ssi)
 c_str_ptr String Access Shim for stlsoft::special_string_instance_0
template<typename P>
ss_typename_type_ret_k
special_string_instance_0< P >
::char_type const * 
c_str_data (stlsoft::special_string_instance_0< P > const &ssi)
 c_str_data String Access Shim for stlsoft::special_string_instance_0
template<typename P>
size_t c_str_len (stlsoft::special_string_instance_0< P > const &ssi)
 c_str_len String Access Shim for stlsoft::special_string_instance_0
template<typename P>
ss_typename_type_ret_k
special_string_instance_1< P >
::char_type const * 
c_str_ptr_null (stlsoft::special_string_instance_1< P > const &ssi)
 c_str_ptr_null String Access Shim for stlsoft::special_string_instance_1
template<typename P>
ss_typename_type_ret_k
special_string_instance_1< P >
::char_type const * 
c_str_ptr (stlsoft::special_string_instance_1< P > const &ssi)
 c_str_ptr String Access Shim for stlsoft::special_string_instance_1
template<typename P>
ss_typename_type_ret_k
special_string_instance_1< P >
::char_type const * 
c_str_data (stlsoft::special_string_instance_1< P > const &ssi)
 c_str_data String Access Shim for stlsoft::special_string_instance_1
template<typename P>
size_t c_str_len (stlsoft::special_string_instance_1< P > const &ssi)
 c_str_len String Access Shim for stlsoft::special_string_instance_1
template<typename S1, typename S2, typename C>
bool split (S1 const &s, C delim, S2 &s0, S2 &s1)
 Splits a string into two, at the first incidence of a delimiter.
template<typename S1, typename S2, typename C>
ss_uint_t split (S1 const &s, C delim, S2 &s0, S2 &s1, S2 &s2)
 Splits a string into three, at first two incidences of a delimiter.
template<typename S1, typename S2, typename C>
ss_uint_t split (S1 const &s, C delim, S2 &s0, S2 &s1, S2 &s2, S2 &s3)
 Splits a string into four, at first three incidences of a delimiter.
template<typename S1, typename S2, typename C>
ss_uint_t split (S1 const &s, C delim, S2 &s0, S2 &s1, S2 &s2, S2 &s3, S2 &s4)
 Splits a string into five, at first four incidences of a delimiter.
template<typename S1, typename S2, typename C>
ss_uint_t split (S1 const &s, C delim, S2 &s0, S2 &s1, S2 &s2, S2 &s3, S2 &s4, S2 &s5)
 Splits a string into six, at first five incidences of a delimiter.
template<typename S, typename C>
static_array_1d< S, 2 > split (S const &s, C delim)
 Splits a string into two, at the first incidence of a delimiter.
template<typename C, size_t CCH, typename T>
void swap (basic_static_string< C, CCH, T > &lhs, basic_static_string< C, CCH, T > &rhs)
template<typename C, size_t CCH, typename T>
C const * c_str_ptr_null (stlsoft::basic_static_string< C, CCH, T > const &s)
 c_str_ptr_null String Access Shim for stlsoft::basic_static_string
template<typename C, size_t CCH, typename T>
C const * c_str_ptr (stlsoft::basic_static_string< C, CCH, T > const &s)
 c_str_ptr String Access Shim for stlsoft::basic_static_string
template<typename C, size_t CCH, typename T>
C const * c_str_data (stlsoft::basic_static_string< C, CCH, T > const &s)
 c_str_data String Access Shim for stlsoft::basic_static_string
template<typename C, size_t CCH, typename T>
size_t c_str_len (stlsoft::basic_static_string< C, CCH, T > const &s)
 c_str_len String Access Shim for stlsoft::basic_static_string
template<typename S, typename C, size_t CCH, typename T>
S & operator<< (S &s, stlsoft::basic_static_string< C, CCH, T > const &str)
 stream insertion shim for stlsoft::basic_static_string
template<typename S, typename C, typename T, typename A>
S & operator<< (S &s, basic_string_view< C, T, A > const &str)
template<typename C, typename T, typename A>
void swap (basic_string_view< C, T, A > &lhs, basic_string_view< C, T, A > &rhs)
template<typename C, typename T, typename A>
C const * c_str_data (stlsoft::basic_string_view< C, T, A > const &s)
 c_str_data String Access Shim for stlsoft::basic_string_view
template<typename C, typename T, typename A>
size_t c_str_len (stlsoft::basic_string_view< C, T, A > const &s)
 c_str_len String Access Shim for stlsoft::basic_string_view
template<typename C, typename T, typename A>
C const * c_str_ptr (stlsoft::basic_string_view< C, T, A > const &s)
 c_str_ptr String Access Shim for stlsoft::basic_string_view
template<typename C, typename T, typename A>
C const * c_str_ptr_null (stlsoft::basic_string_view< C, T, A > const &s)
 c_str_ptr_null String Access Shim for stlsoft::basic_string_view
template<typename C>
C const * find_next_token (C const *&p0, C const *&p1, C const *const end, C delim)
 Adjusts the delimiters into a token string to find the next token, according to the given delimiter.
template<typename C>
bool find_next_token (C const *&p0, C const *&p1, C delim)
 Adjusts the delimiters into a token string to find the next token, according to the given delimiter.
template<typename S>
S & trim_left (S &str)
 Trims all the leading whitespace characters, if any, from a string.
template<typename S0, typename S1>
S0 & trim_left (S0 &str, S1 const &trimChars)
template<typename S>
S & trim_right (S &str)
 Trims all the trailing whitespace characters, if any, from a string.
template<typename S0, typename S1>
S0 & trim_right (S0 &str, S1 const &trimChars)
template<typename S>
S & trim_all (S &str)
 Trims all the leading and trailing whitespace characters, if any, from a string.
template<typename S0, typename S1>
S0 & trim_all (S0 &str, S1 const &trimChars)
template<typename S>
S & remove_all (S &str)
template<typename S0, typename S1>
S0 & remove_all (S0 &str, S1 const &removeChars)
basic_string_view< charleft_view (char const *s, size_t n)
basic_string_view< wchar_tleft_view (wchar_t const *s, size_t n)
template<typename S>
ss_typename_type_ret_k
string_view_helper_traits< S >
::view_type 
left_view (S const &s, size_t n)
basic_string_view< charright_view (char const *s, size_t n)
basic_string_view< wchar_tright_view (wchar_t const *s, size_t n)
template<typename S>
ss_typename_type_ret_k
string_view_helper_traits< S >
::view_type 
right_view (S const &s, size_t n)
basic_string_view< charmid_view (char const *s, size_t start, size_t n)
basic_string_view< wchar_tmid_view (wchar_t const *s, size_t start, size_t n)
template<typename S>
ss_typename_type_ret_k
string_view_helper_traits< S >
::view_type 
mid_view (S const &s, size_t start, size_t n)
void lock_instance (stlsoft::null_mutex &mx)
 This control shim aquires a lock on the given mutex.
void unlock_instance (stlsoft::null_mutex &mx)
 This control shim releases a lock on the given mutex.
template<typename S>
S & operator<< (S &stm, cmdargs::option const &option)
template<typename S>
S & operator<< (S &stm, cmdargs::value const &value)
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.
exception_string::char_type const * c_str_data (exception_string const &xs)
exception_string::size_type c_str_len (exception_string const &xs)
exception_string::char_type const * c_str_ptr (exception_string const &xs)
exception_string::char_type const * c_str_data_a (exception_string const &xs)
exception_string::size_type c_str_len_a (exception_string const &xs)
exception_string::char_type const * c_str_ptr_a (exception_string const &xs)
exception_string operator+ (exception_string const &lhs, exception_string::char_type const *rhs)
 Adds a C-style string to an exception_string.
exception_string operator+ (exception_string::char_type lhs, exception_string const &rhs)
 Adds an exception_string to a character.
exception_string operator+ (exception_string const &lhs, exception_string::char_type rhs)
 Adds a character to an exception_string.
exception_string operator+ (exception_string::char_type const *lhs, exception_string const &rhs)
 Adds an exception_string to a C-style string.
exception_string operator+ (exception_string const &lhs, exception_string const &rhs)
 Adds an exception_string to an exception_string.
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.
bool operator! (bool_init_t const &b)
template<typename T>
must_init< T > & operator++ (must_init< T > &v)
template<typename T>
must_init< T > const operator++ (must_init< T > &v, int)
template<typename T>
must_init< T > & operator-- (must_init< T > &v)
template<typename T>
must_init< T > const operator-- (must_init< T > &v, int)
template<typename T>
bool operator== (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
bool operator== (must_init< T > const &lhs, T const &rhs)
template<typename T>
bool operator== (T const &lhs, must_init< T > const &rhs)
template<typename T>
bool operator!= (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
bool operator!= (must_init< T > const &lhs, T const &rhs)
template<typename T>
bool operator!= (T const &lhs, must_init< T > const &rhs)
template<typename T>
bool operator< (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
bool operator< (must_init< T > const &lhs, T const &rhs)
template<typename T>
bool operator< (T const &lhs, must_init< T > const &rhs)
template<typename T>
bool operator<= (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
bool operator<= (must_init< T > const &lhs, T const &rhs)
template<typename T>
bool operator<= (T const &lhs, must_init< T > const &rhs)
template<typename T>
bool operator> (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T, typename T2>
bool operator> (must_init< T > const &lhs, T2 const &rhs)
template<typename T>
bool operator> (T const &lhs, must_init< T > const &rhs)
template<typename T>
bool operator>= (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
bool operator>= (must_init< T > const &lhs, T const &rhs)
template<typename T>
bool operator>= (T const &lhs, must_init< T > const &rhs)
template<typename T, typename T2>
must_init< T > operator+ (must_init< T > const &lhs, T2 const &rhs)
template<typename T, typename T2>
must_init< T > operator+ (T const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator- (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator- (must_init< T > const &lhs, T const &rhs)
template<typename T>
must_init< T > operator- (T const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator* (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator* (must_init< T > const &lhs, T const &rhs)
template<typename T>
must_init< T > operator* (T const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator/ (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator/ (must_init< T > const &lhs, T const &rhs)
template<typename T>
must_init< T > operator/ (T const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator% (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator% (must_init< T > const &lhs, T const &rhs)
template<typename T>
must_init< T > operator% (T const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator^ (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator^ (must_init< T > const &lhs, T const &rhs)
template<typename T>
must_init< T > operator^ (T const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator~ (must_init< T > const &v)
template<typename T>
must_init< T > operator<< (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator<< (must_init< T > const &lhs, T const &rhs)
template<typename T>
must_init< T > operator<< (T const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator>> (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator>> (must_init< T > const &lhs, T const &rhs)
template<typename T>
must_init< T > operator>> (T const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator & (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator & (must_init< T > const &lhs, T const &rhs)
template<typename T>
must_init< T > operator & (T const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator| (must_init< T > const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > operator| (must_init< T > const &lhs, T const &rhs)
template<typename T>
must_init< T > operator| (T const &lhs, must_init< T > const &rhs)
template<typename T>
must_init< T > const & operator+= (must_init< T > &v, T const &rhs)
template<typename T>
must_init< T > const & operator+= (must_init< T > &v, must_init< T > const &rhs)
template<typename T>
must_init< T > const & operator-= (must_init< T > &v, T const &rhs)
template<typename T>
must_init< T > const & operator-= (must_init< T > &v, must_init< T > const &rhs)
template<typename T>
must_init< T > const & operator*= (must_init< T > &v, T const &rhs)
template<typename T>
must_init< T > const & operator*= (must_init< T > &v, must_init< T > const &rhs)
template<typename T>
must_init< T > const & operator/= (must_init< T > &v, T const &rhs)
template<typename T>
must_init< T > const & operator/= (must_init< T > &v, must_init< T > const &rhs)
template<typename T>
must_init< T > const & operator%= (must_init< T > &v, T const &rhs)
template<typename T>
must_init< T > const & operator%= (must_init< T > &v, must_init< T > const &rhs)
template<typename T>
must_init< T > const & operator^= (must_init< T > &v, T const &rhs)
template<typename T>
must_init< T > const & operator^= (must_init< T > &v, must_init< T > const &rhs)
template<typename T>
must_init< T > const & operator<<= (must_init< T > &v, T const &rhs)
template<typename T>
must_init< T > const & operator<<= (must_init< T > &v, must_init< T > const &rhs)
template<typename T>
must_init< T > const & operator>>= (must_init< T > &v, T const &rhs)
template<typename T>
must_init< T > const & operator>>= (must_init< T > &v, must_init< T > const &rhs)
template<typename T>
must_init< T > const & operator &= (must_init< T > &v, T const &rhs)
template<typename T>
must_init< T > const & operator &= (must_init< T > &v, must_init< T > const &rhs)
template<typename T>
must_init< T > const & operator|= (must_init< T > &v, T const &rhs)
template<typename T>
must_init< T > const & operator|= (must_init< T > &v, must_init< T > const &rhs)
template<typename T>
options_verifier< T > verify_options (T const &value, char const *failureMessage)
template<typename T, typename XP>
options_verifier< T, XP > verify_options (T const &value, XP const &policy, char const *failureMessage)
template<typename T, typename XP, typename U>
options_verifier< T, XP > & operator, (options_verifier< T, XP > &ov, U const &u)
template<typename T, typename U>
options_verifier_comparison_ref
< T, U > & 
operator== (options_verifier< T > const &ov, U const &u)
template<typename T, typename U1, typename U2>
options_verifier_comparison_ref
< T, U1 > & 
operator|| (options_verifier_comparison_ref< T, U1 > &ov, U2 const &u)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::input_iterator_tag, std::input_iterator_tag, std::input_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::forward_iterator_tag, std::input_iterator_tag, std::input_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::bidirectional_iterator_tag, std::input_iterator_tag, std::input_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::random_access_iterator_tag, std::input_iterator_tag, std::input_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::input_iterator_tag, std::forward_iterator_tag, std::input_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::forward_iterator_tag, std::forward_iterator_tag, std::forward_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::bidirectional_iterator_tag, std::forward_iterator_tag, std::forward_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::random_access_iterator_tag, std::forward_iterator_tag, std::forward_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::input_iterator_tag, std::bidirectional_iterator_tag, std::input_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::forward_iterator_tag, std::bidirectional_iterator_tag, std::forward_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::bidirectional_iterator_tag, std::bidirectional_iterator_tag, std::bidirectional_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::random_access_iterator_tag, std::bidirectional_iterator_tag, std::bidirectional_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::input_iterator_tag, std::random_access_iterator_tag, std::input_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::forward_iterator_tag, std::random_access_iterator_tag, std::forward_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::bidirectional_iterator_tag, std::random_access_iterator_tag, std::bidirectional_iterator_tag)
 STLSOFT_ITER_CAT_LIMITER_DEFINE_SPECIALISATION (std::random_access_iterator_tag, std::random_access_iterator_tag, std::random_access_iterator_tag)
template<typename T>
void std_swap (T &lhs, T &rhs)
 Calls std::swap on the arguments, but may also use Argument-Dependent Lookup to use a specialised form.
bool operator== (ZERO_v const &, ss_sint8_t i)
 operator == for ZERO_v and integral types
bool operator== (ZERO_v const &, ss_uint8_t i)
bool operator== (ZERO_v const &, ss_sint16_t i)
bool operator== (ZERO_v const &, ss_uint16_t i)
bool operator== (ZERO_v const &, ss_sint32_t i)
bool operator== (ZERO_v const &, ss_uint32_t i)
bool operator== (ZERO_v const &, float const &i)
bool operator== (ZERO_v const &, double const &i)
bool operator== (ZERO_v const &, long double const &i)
bool operator== (ss_sint8_t i, ZERO_v const &)
 operator == for an integral type and ZERO_v
bool operator== (ss_uint8_t i, ZERO_v const &)
bool operator== (ss_sint16_t i, ZERO_v const &)
bool operator== (ss_uint16_t i, ZERO_v const &)
bool operator== (ss_sint32_t i, ZERO_v const &)
bool operator== (ss_uint32_t i, ZERO_v const &)
bool operator== (float const &i, ZERO_v const &)
bool operator== (double const &i, ZERO_v const &)
bool operator== (long double const &i, ZERO_v const &)
bool operator!= (ZERO_v const &, ss_sint8_t i)
 operator != for ZERO_v and an integral type
bool operator!= (ZERO_v const &, ss_uint8_t i)
bool operator!= (ZERO_v const &, ss_sint16_t i)
bool operator!= (ZERO_v const &, ss_uint16_t i)
bool operator!= (ZERO_v const &, ss_sint32_t i)
bool operator!= (ZERO_v const &, ss_uint32_t i)
bool operator!= (ZERO_v const &, float const &i)
bool operator!= (ZERO_v const &, double const &i)
bool operator!= (ZERO_v const &, long double const &i)
bool operator!= (ss_sint8_t i, ZERO_v const &)
 operator != for an integral type and ZERO_v
bool operator!= (ss_uint8_t i, ZERO_v const &)
bool operator!= (ss_sint16_t i, ZERO_v const &)
bool operator!= (ss_uint16_t i, ZERO_v const &)
bool operator!= (ss_sint32_t i, ZERO_v const &)
bool operator!= (ss_uint32_t i, ZERO_v const &)
bool operator!= (float const &i, ZERO_v const &)
bool operator!= (double const &i, ZERO_v const &)
bool operator!= (long double const &i, ZERO_v const &)
stlsoft::ss_uint64_t to_uint64 (struct stat const &st)
 Converts a struct stat instance to an unsigned 64-bit integer value, by taking its st_size member value.
stlsoft::ss_uint64_t to_uint64 (struct stat const *st)
 Converts a pointer to a struct stat instance to an unsigned 64-bit integer value, by taking its st_size member value.
stlsoft::ss_uint64_t to_uint64 (ULARGE_INTEGER const &uli)
 Converts a ULARGE_INTEGER instance to an unsigned 64-bit integer value.
stlsoft::ss_uint64_t to_uint64 (ULARGE_INTEGER const *puli)
 Converts a pointer to a ULARGE_INTEGER instance to an unsigned 64-bit integer value.
stlsoft::ss_uint64_t to_uint64 (WIN32_FIND_DATAA const &fd)
 Converts a WIN32_FIND_DATA instance to an unsigned 64-bit integer value, by combining the two file size-related members nFileSizeHigh and nFileSizeLow, according to the following relation (static_cast<uint64_t>(nFileSizeHigh) << 32 + nFileSizeLow).
stlsoft::ss_uint64_t to_uint64 (WIN32_FIND_DATAW const &fd)
stlsoft::ss_uint64_t to_uint64 (WIN32_FIND_DATAA const *pfd)
 Converts a pointer to a WIN32_FIND_DATA instance to an unsigned 64-bit integer value, by combining the two file size-related members nFileSizeHigh and nFileSizeLow, according to the following relation (static_cast<uint64_t>(nFileSizeHigh) << 32 + nFileSizeLow).
stlsoft::ss_uint64_t to_uint64 (WIN32_FIND_DATAW const *pfd)
atoi family
template<typename S>
int atoi (S const &s)
template<typename S>
long atol (S const &s)
template<typename S>
double atof (S const &s)
strtol family
long strtol (char const *s, char **endptr, int radix)
long strtol (wchar_t const *s, wchar_t **endptr, int radix)
unsigned long strtoul (char const *s, char **endptr, int radix)
unsigned long strtoul (wchar_t const *s, wchar_t **endptr, int radix)
double strtod (char const *s, char **endptr)
double strtod (wchar_t const *s, wchar_t **endptr)
Copying and concatenation family
template<typename S>
ss_typename_type_ret_k
string_traits< S >::char_type * 
strcpy (typename string_traits< S >::char_type *dest, S const &src)
charstrcpy (char *dest, char const *src)
wchar_tstrcpy (wchar_t *dest, wchar_t const *src)
template<typename S>
ss_typename_type_ret_k
string_traits< S >::char_type * 
strcat (typename string_traits< S >::char_type *dest, S const &src)
charstrcat (char *dest, char const *src)
wchar_tstrcat (wchar_t *dest, wchar_t const *src)
template<typename S>
ss_typename_type_ret_k
string_traits< S >::char_type * 
strncpy (typename string_traits< S >::char_type *dest, S const &src)
template<typename S>
ss_typename_type_ret_k
string_traits< S >::char_type * 
strncat (typename string_traits< S >::char_type *dest, S const &src)
template<typename S>
ss_typename_type_ret_k
string_traits< S >::char_type * 
strncpy (typename string_traits< S >::char_type *dest, S const &src, size_t n)
charstrncpy (char *dest, char const *src, size_t n)
wchar_tstrncpy (wchar_t *dest, wchar_t const *src, size_t n)
template<typename S>
ss_typename_type_ret_k
string_traits< S >::char_type * 
strncat (typename string_traits< S >::char_type *dest, S const &src, size_t n)
charstrncat (char *dest, char const *src, size_t n)
wchar_tstrncat (wchar_t *dest, wchar_t const *src, size_t n)
Length and comparison family
template<typename S>
size_t strlen (S const &s)
size_t strlen (char const *s)
size_t strlen (wchar_t const *s)
template<typename S>
int strcmp (S const &s1, S const &s2)
int strcmp (char const *s1, char const *s2)
int strcmp (wchar_t const *s1, wchar_t const *s2)
template<typename S>
int strncmp (S const &s1, S const &s2, size_t n)
int strncmp (char const *s1, char const *s2, size_t n)
int strncmp (wchar_t const *s1, wchar_t const *s2, size_t n)
Searching family
char const * strchr (char const *s, char ch)
wchar_t const * strchr (wchar_t const *s, wchar_t ch)
char const * strrchr (char const *s, char ch)
wchar_t const * strrchr (wchar_t const *s, wchar_t ch)
char const * strstr (char const *s, char const *charSet)
wchar_t const * strstr (wchar_t const *s, wchar_t const *charSet)

Variables

unary_fastcall_function_pointer
< R, A > 
ptr_fun (R(__fastcall *func)(A))
 Creator function to adapt pointers to functions with FastCall (__fastcall) calling convention.
one_type is_function_pointer_type_func (R(*)())


Typedef Documentation

typedef bool bool

Boolean type

typedef bool bool_t

bool

typedef ss_byte_t byte_t

Byte

typedef char char

Ansi char type

typedef char char_a_t

Ansi char type

typedef wchar_t char_w_t

Unicode char type

Specialisation of the basic_path template for the ANSI character type char.

typedef int STLSOFT_WARN_64 int

integer

16-bit integer

32-bit integer

typedef ss_int8_t int8_t

8-bit integer

typedef int STLSOFT_WARN_64 int_t

integer

typedef ss_long_t STLSOFT_WARN_64 long_t

long integer

short integer

16-bit signed integer

32-bit signed integer

8-bit signed integer

typedef ss_sint_t STLSOFT_WARN_64 sint_t

signed integer

typedef size_t STLSOFT_WARN_64 size_t

size

Byte

typedef STLSOFT_I_16_T_BASE_TYPE_ ss_int16_t

16-bit integer

typedef STLSOFT_I_32_T_BASE_TYPE_ ss_int32_t

32-bit integer

typedef STLSOFT_I_08_T_BASE_TYPE_ ss_int8_t

8-bit integer

typedef long STLSOFT_WARN_64 ss_long_t

long integer

typedef ptrdiff_t ss_ptrdiff_t

ptr diff

typedef short ss_short_t

short integer

typedef STLSOFT_SI16_T_BASE_TYPE_ ss_sint16_t

16-bit signed integer

typedef STLSOFT_SI32_T_BASE_TYPE_ ss_sint32_t

32-bit signed integer

typedef STLSOFT_SI08_T_BASE_TYPE_ ss_sint8_t

8-bit signed integer

typedef signed int STLSOFT_WARN_64 ss_sint_t

signed integer

typedef long ss_streamoff_t

streamoff

typedef long ss_streampos_t

streampos

typedef STLSOFT_UI16_T_BASE_TYPE_ ss_uint16_t

16-bit unsigned integer

typedef STLSOFT_UI32_T_BASE_TYPE_ ss_uint32_t

32-bit unsigned integer

typedef STLSOFT_UI08_T_BASE_TYPE_ ss_uint8_t

8-bit unsigned integer

typedef unsigned int STLSOFT_WARN_64 ss_uint_t

unsigned integer

typedef unsigned long STLSOFT_WARN_64 ss_ulong_t

long integer

streamoff

streampos

16-bit unsigned integer

32-bit unsigned integer

8-bit unsigned integer

typedef ss_uint_t STLSOFT_WARN_64 uint_t

unsigned integer

typedef STLSOFT_WCHAR_T_BASE_TYPE_ wchar_t

Unicode char type


Function Documentation

wchar_t const * c_str_ptr ( wchar_t const *  s  )  [inline]

c_str_ptr String Access Shim function for wchar_t const*.

Returns:
None-NULL, non-mutating pointer to a nul-terminated C-style string of wchar_t.

References c_str_ptr_w().

bool stlsoft::read_line ( from,
to,
S &  line,
read_line_flags::flags_t  flags = read_line_flags::recogniseAll 
) [inline]

Reads a line from a pair of iterators.

Referenced by read_line().

bool stlsoft::read_line ( FILE *  stm,
S &  line,
read_line_flags::flags_t  flags = read_line_flags::recogniseAll 
) [inline]

Reads a line from a C stream.

Parameters:
stm The stream to read from
line The line to read into. Must be an instance of a type that is structurally conformant to std::string in the following ways: it has a default constructor, it has a swap() method, and it has a block append method (taking repeat count and character to add)
flags The flags that control what line-termination sequences are recognised
Returns:
An indication of whether there is more to parse
Return values:
true The parsing is not complete
false The parsing is complete
Remarks:
The function can recognise any or all of the following as line-termination sequences: carriage-return (''), line-feed ('
'), or carriage-return+line-feed ("\r\n").

References read_line().

void stlsoft::std_swap ( T &  lhs,
T &  rhs 
) [inline]

Calls std::swap on the arguments, but may also use Argument-Dependent Lookup to use a specialised form.

Note:
For compilers, such as Open Watcom, that do not have a functional standard library implementation, the swap() implementation from stlsoft::stlsoft_nostd_util is used.
Parameters:
lhs The left hand parameter
rhs The right hand parameter

Referenced by basic_shim_string::swap(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::swap(), frequency_map::swap(), array_view::swap(), and memory_mapped_file::swap().

void stlsoft::throw_x ( X const &  x  )  [inline]

Throws the given exception.

Note:
This is needed because Visual C++ 5.0 goes into an infinite loop if the exception instance is passed to throw. The apparent workaround (which only took me six years to discover!) is to apply *& to the instance.

stlsoft:: ss_uint64_t stlsoft::to_uint64 ( WIN32_FIND_DATAA const *  pfd  )  [inline]

Converts a pointer to a WIN32_FIND_DATA instance to an unsigned 64-bit integer value, by combining the two file size-related members nFileSizeHigh and nFileSizeLow, according to the following relation (static_cast<uint64_t>(nFileSizeHigh) << 32 + nFileSizeLow).

References to_uint64().

stlsoft:: ss_uint64_t stlsoft::to_uint64 ( WIN32_FIND_DATAA const &  fd  )  [inline]

Converts a WIN32_FIND_DATA instance to an unsigned 64-bit integer value, by combining the two file size-related members nFileSizeHigh and nFileSizeLow, according to the following relation (static_cast<uint64_t>(nFileSizeHigh) << 32 + nFileSizeLow).

References stlsoft_ns_qual.

stlsoft:: ss_uint64_t stlsoft::to_uint64 ( ULARGE_INTEGER const *  puli  )  [inline]

Converts a pointer to a ULARGE_INTEGER instance to an unsigned 64-bit integer value.

References to_uint64().

stlsoft:: ss_uint64_t stlsoft::to_uint64 ( ULARGE_INTEGER const &  uli  )  [inline]

Converts a ULARGE_INTEGER instance to an unsigned 64-bit integer value.

stlsoft:: ss_uint64_t stlsoft::to_uint64 ( struct stat const *  st  )  [inline]

Converts a pointer to a struct stat instance to an unsigned 64-bit integer value, by taking its st_size member value.

References to_uint64().

stlsoft:: ss_uint64_t stlsoft::to_uint64 ( struct stat const &  st  )  [inline]

Converts a struct stat instance to an unsigned 64-bit integer value, by taking its st_size member value.

References stlsoft_ns_qual.

ss_uint64_t stlsoft::to_uint64 ( ss_uint64_t  i  )  [inline]

Degenerate form of the stlsoft::to_uint64 shim.

ss_uint64_t stlsoft::to_uint64 ( ss_uint32_t  i  )  [inline]

uint32_t overload of the stlsoft::to_uint64 shim

ss_uint64_t stlsoft::to_uint64 ( ss_uint16_t  i  )  [inline]

uint16_t overload of the stlsoft::to_uint64 shim

ss_uint64_t stlsoft::to_uint64 ( ss_uint8_t  i  )  [inline]

uint8_t overload of the stlsoft::to_uint64 shim

to_uint64_shim_does_not_provide_a_degenerate_case stlsoft::to_uint64 ( T const &   )  [inline]

The degenerate case, which proscribes the use of the shim with arbitrary types; only those types with specific shim functions.

Referenced by to_uint64().


Generated on Thu Jun 10 08:58:39 2010 for STLSoft by  doxygen 1.5.6